Windows批处理文件有哪些不太为人所知,但很重要和有用的特性?
指南:
每个答案一个特征 给出特性的简短描述和示例,而不仅仅是文档链接 将答案限制在本地功能,即不需要额外的软件,如Windows资源包
澄清:这里我们指的是由cmd.exe处理的脚本,这是WinNT变体的默认值。
(请参见:Windows批处理文件:.bat vs .cmd?)
Windows批处理文件有哪些不太为人所知,但很重要和有用的特性?
指南:
每个答案一个特征 给出特性的简短描述和示例,而不仅仅是文档链接 将答案限制在本地功能,即不需要额外的软件,如Windows资源包
澄清:这里我们指的是由cmd.exe处理的脚本,这是WinNT变体的默认值。
(请参见:Windows批处理文件:.bat vs .cmd?)
当前回答
继续行:
call C:\WINDOWS\system32\ntbackup.exe ^
backup ^
/V:yes ^
/R:no ^
/RS:no ^
/HC:off ^
/M normal ^
/L:s ^
@daily.bks ^
/F daily.bkf
其他回答
继续行:
call C:\WINDOWS\system32\ntbackup.exe ^
backup ^
/V:yes ^
/R:no ^
/RS:no ^
/HC:off ^
/M normal ^
/L:s ^
@daily.bks ^
/F daily.bkf
这个批处理文件既可以使用简单文件,也可以使用目录作为命令行参数(您可以以任何顺序混合它们)。循环在任何指定的文件上运行命令(本例中为'echo'),如果一个参数是一个目录,它将在其中的每个文件上递归地运行命令。
@echo off
for /f "delims=" %%f in ('dir %* /a-d /b /s') do echo %%f
Forfiles非常有用,例如,递归删除所有超过两天的文件
forfiles /D -2 /P "C:\Temp" /S /C "cmd /c del @path"
创建一个空文件:
> copy nul filename.ext
softwarejedi已经提到了for命令,但我将再次提到它,因为它非常强大。
下面以YYYYMMDD格式输出当前日期,我在生成备份目录时使用此格式。
for /f "tokens=2-4 delims=/- " %a in ('DATE/T') do echo %c%b%a