活动
4月29日 14时 - 4月30日 19时
请与Microsoft工程师一起参加 4 月 29 日至 30 日的最终 Windows Server 虚拟活动,进行深入的技术会话和实时 Q&A。
立即注册在文件或文件集上选择并运行命令。 此命令最常用于批处理文件。
forfiles [/P pathname] [/M searchmask] [/S] [/C command] [/D [+ | -] [{<date> | <days>}]]
参数 | 说明 |
---|---|
/P <pathname> |
指定从中开始搜索的路径。 默认情况下,在当前工作目录中开始搜索。 |
/M <searchmask> |
根据指定的搜索掩码搜索文件。 默认搜索掩码为 * 。 |
/S | 指示 forfiles 命令以递归方式在子目录中搜索。 |
/C <command> |
对每个文件运行指定的命令。 命令字符串应用双引号括起来。 默认命令为 "cmd /c echo @file" 。 |
/D [{+\|-}][{<date> | <days>}] |
选择最后修改日期在指定时间范围内的文件:
|
/? | 在 cmd 窗口中显示帮助文本。 |
forfiles /S
命令类似于 dir /S
。
可以在 /C 命令行选项指定的命令字符串中使用以下变量:
变量 | 说明 |
---|---|
@FILE | 文件名。 |
@FNAME | 不含扩展名的文件名。 |
@EXT | 文件扩展名。 |
@PATH | 文件的完整路径。 |
@RELPATH | 文件的相对路径。 |
@ISDIR | 如果文件类型是目录,则计算结果为 TRUE。 否则,此变量的计算结果为 FALSE。 |
@FSIZE | 文件大小,以字节为单位。 |
@FDATE | 文件的上次修改日期戳。 |
@FTIME | 文件的上次修改时间戳。 |
使用 forfiles 命令,可以运行命令或将参数传递给多个文件。 例如,可以对具有 .txt 文件扩展名的树中的所有文件运行 type 命令。 或者,可以在驱动器 C 上执行每个批处理文件 (*.bat),并将文件名 Myinput.txt 作为第一个参数。
此命令可以:
使用 /d 参数按绝对日期或相对日期选择文件。
使用 @FSIZE、@FDATE 等变量生成文件的存档树。
使用 @ISDIR 变量将文件与目录区分开来。
使用字符的十六进制代码采用 0xHH 格式将特殊字符包括在命令行中(例如,为选项卡选择 0x09)。
此命令的工作原理是在设计为仅处理单个文件的工具上实现 recurse subdirectories
标志。
若要列出驱动器 C 上的所有批处理文件,请键入:
forfiles /P c:\ /S /M *.bat /C "cmd /c echo @file is a batch file"
若要列出驱动器 C 上的所有目录,请键入:
forfiles /P c:\ /S /M * /C "cmd /c if @isdir==TRUE echo @file is a directory"
若要列出当前目录中至少有一年历史的所有文件,请键入:
forfiles /S /M *.* /D -365 /C "cmd /c echo @file is at least one year old."
若要显示当前目录中早于 2007 年 1 月 1 日的每个文件的文本文件已过时,请键入:
forfiles /S /M *.* /D -01/01/2007 /C "cmd /c echo @file is outdated."
若要以列格式列出当前目录中所有文件的文件扩展名,并在扩展名前添加选项卡,请键入:
forfiles /S /M *.* /C "cmd /c echo The extension of @file is 0x09@ext"
活动
4月29日 14时 - 4月30日 19时
请与Microsoft工程师一起参加 4 月 29 日至 30 日的最终 Windows Server 虚拟活动,进行深入的技术会话和实时 Q&A。
立即注册