使用CD命令转到文件夹后自动执行命令


0

如果通过cd命令移动到命令,是否可以在文件夹中自动执行命令?

当然我可以定义自己的命令(例如CHD.BAT)做这样的事情:

@echo off
cd %1
if exist init.bat (
    init.bat
) else (
    color 0F
    title Command Prompt
)

但我想知道使用标准CD命令是否可以这样。


你为什么还需要呢?听起来很腥。
Camilo Martin

这只是一个想法,我必须根据当前文件夹自动设置我的命令提示符的窗口标题。例如。当我的应用程序X的1.0版的开发文件夹中,我想将命令提示符标题设置为“X 1.0”。如果您在该命令提示符窗口中执行大脚本并且无法回滚到提示符(确实设置为$ p $ g),这将非常有用。
Patrick

你是什​​么意思“无法滚动回提示”?您可以配置CMD.EXE的缓冲区(右键单击窗口左上角的图标,属性。或类似的东西),以便能够向后滚动很多。如果这就是你的意思。此外,您可以创建一个批处理文件来代替CD使用 - 类似于 mycd.bat
Camilo Martin

当脚本输出许多行时(例如,在完整编译中编译的每个文件都有一行),9999行是不够的。但确实像mycd.bat这样的东西可以解决这个问题。
Patrick

我只是想知道从IDE编译是不是更容易,或者如果你有一台机器只是为了编译而自动化它。另外,为什么不编辑构建脚本本身来更改标题?
Camilo Martin

Answers:


2

不,因为这会非常危险。如果是,您可以通过访问其中一个文件夹欺骗管理员执行随机恶意代码。


好点子。这确实非常危险。
Patrick

0

你可以通过创建一个doskey宏来做到这一点:

doskey cd=cd $*$Tif exist init.bat (init.bat) else (color 0f^&title Command Prompt)

但是,似乎输出完成了 init.bat 文件似乎是在通常的提示后写的:

C:\Users\Me>doskey cd=cd $*$Tif exist init.bat (init.bat) else (color 0f^&title Command Prompt)

C:\Users\Me>cd stuff

C:\Users\Me\Stuff>Foo

(我 init.batStuff 只包含 @echo Foo。)


即便 @ECHO OFF 存在?
Phoshi

它没有输出 命令 ,它输出 提示 在打印bat文件的输出之前。
Joey
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.