Windows批处理文件有哪些不太为人所知,但很重要和有用的特性?
指南:
每个答案一个特征 给出特性的简短描述和示例,而不仅仅是文档链接 将答案限制在本地功能,即不需要额外的软件,如Windows资源包
澄清:这里我们指的是由cmd.exe处理的脚本,这是WinNT变体的默认值。
(请参见:Windows批处理文件:.bat vs .cmd?)
Windows批处理文件有哪些不太为人所知,但很重要和有用的特性?
指南:
每个答案一个特征 给出特性的简短描述和示例,而不仅仅是文档链接 将答案限制在本地功能,即不需要额外的软件,如Windows资源包
澄清:这里我们指的是由cmd.exe处理的脚本,这是WinNT变体的默认值。
(请参见:Windows批处理文件:.bat vs .cmd?)
当前回答
一个非常古老(大约1990年)的技巧来获得环境变量的总大小:
set > test
dir test
del test
其他回答
将输出重定向到控制台,即使批处理的输出已经通过> con语法重定向到文件。
例子: foo.cmd:
echo a
echo b > con
调用:
foo.cmd > output.txt
这将导致“a”输出到output.txt,而“b”输出到控制台。
使用空格和转义字符完全控制输出:
echo. ^<resourceDir^>/%basedir%/resources^</resourceDir^>
'remove directory'上的子目录选项:
rd /s /q junk
HELP
当使用不同的操作系统版本时,了解本机可用的命令是很重要的。在命令提示符处输入HELP可以显示可用的命令,以及它们的功能的简要描述。
cmd.exe /?
这将列出用于启动命令提示符的所有命令行参数,以及更改整个系统行为的注册表调整。
命令分隔符:
cls & dir
copy a b && echo Success
copy a b || echo Failure
在第二行,&&之后的命令仅在第一个命令成功时运行。
在第3行,||之后的命令仅在第一个命令失败时运行。