Windows批处理文件有哪些不太为人所知,但很重要和有用的特性?

指南:

每个答案一个特征 给出特性的简短描述和示例,而不仅仅是文档链接 将答案限制在本地功能,即不需要额外的软件,如Windows资源包

澄清:这里我们指的是由cmd.exe处理的脚本,这是WinNT变体的默认值。

(请参见:Windows批处理文件:.bat vs .cmd?)


当前回答

如块状结构:

if "%VS90COMNTOOLS%"=="" (
  echo: Visual Studio 2008 is not installed
  exit /b
)

其他回答

PUSHD path

将您带到path指定的目录。

POPD

带您回到您“推”的目录。

您可以在批处理文件运行时修改它。例如,如果您希望在批处理文件退出之前看到结果,您可以在文件运行时在文件的末尾添加一个被遗忘的暂停。

请参见在批处理文件运行时更改批处理文件

我个人认为这更像是一个陷阱,而不是一个功能。

HELP

当使用不同的操作系统版本时,了解本机可用的命令是很重要的。在命令提示符处输入HELP可以显示可用的命令,以及它们的功能的简要描述。

cmd.exe /? 

这将列出用于启动命令提示符的所有命令行参数,以及更改整个系统行为的注册表调整。

我总是发现很难阅读每行用关键字标记的注释:

REM blah blah blah

易于阅读:

:: blah blah blah

没有提供太多的功能,但是您可以将title命令用于一些用途,比如在任务栏中提供长脚本的状态,或者只是增强用户反馈。

@title Searching for ...
:: processing search
@title preparing search results
:: data processing