Windows批处理文件有哪些不太为人所知,但很重要和有用的特性?
指南:
每个答案一个特征 给出特性的简短描述和示例,而不仅仅是文档链接 将答案限制在本地功能,即不需要额外的软件,如Windows资源包
澄清:这里我们指的是由cmd.exe处理的脚本,这是WinNT变体的默认值。
(请参见:Windows批处理文件:.bat vs .cmd?)
Windows批处理文件有哪些不太为人所知,但很重要和有用的特性?
指南:
每个答案一个特征 给出特性的简短描述和示例,而不仅仅是文档链接 将答案限制在本地功能,即不需要额外的软件,如Windows资源包
澄清:这里我们指的是由cmd.exe处理的脚本,这是WinNT变体的默认值。
(请参见:Windows批处理文件:.bat vs .cmd?)
当前回答
列出所有驱动器:
fsutil fsinfo drives
其他回答
允许您更改目录基于环境变量没有 必须指定'%'指令。如果指定的变量没有 存在,然后尝试目录名。
@if defined %1 (call cd "%%%1%%") else (call cd %1)
PUSHD path
将您带到path指定的目录。
POPD
带您回到您“推”的目录。
FOR命令!虽然我讨厌写批处理文件,但我很感激它。
FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k
将解析myfile.txt中的每一行,忽略以分号开头的行,将每行的第2和第3个标记传递给for主体,标记由逗号和/或空格分隔。 注意for语句引用%i获取第二个令牌,引用%j获取第三个令牌,引用%k获取第三个令牌之后的所有剩余令牌。
你也可以用它来遍历目录、目录内容等等…
整数运算:
> SET /A result=10/3 + 1
4
cmd.exe中的快速编辑模式是我的最爱。这有点偏离主题,但是当与命令shell交互时,它可以是一个救星。不,我并不是在夸张——在你死之前,你只会看到一定次数的* * * * * v;你看得越多,死得越快。
打开regedit(小心,不是我的 故障、蓝屏等) 进入HKCU/控制台 “quickkedit”设置为“1”
(你也可以从UI设置,这可能是更好的方法。有关说明,请参阅注释。还有一个很好的一行脚本也可以做到这一点。)
现在,要复制,只需左键单击并拖动选择,然后右键单击复制。要粘贴,只需右击。
不再有^ v ^ v ^ v ^ v ^ v ^ v ^ v ^ v ^ v ^ v ^ v ^ v ^ v ^ v ^ v ^ v !!
该死,我想我刚杀了人。对不起!