forfiles 命令选择并在一个文件或一组文件上执行命令。该命令对批处理非常有用。
该命令的使用示例,请看下面的示例。
文件命令的语法
forfiles [/p ] [/m ] [/s] [/c "] [/d [{+|-}][{|}]]
forfiles [/p ] [/m ] [/s] [/c " "] [/d [{+|-}][{|}]]
参数
参数 说明/p 指定命令开始搜索的路径。默认情况下,搜索从当前目录开始。/m 根据指定的搜索mash搜索文件。默认搜索混搭是 *. *。/s 表示在子目录中递归搜索forfiles命令。/c "-选择修改日期晚于或等于(+)或早于或等于(-)指定日期的文件,其中Date格式为MM/DD/YYYY。
-选择要修改的日期晚于或等于当前 (+) 日期加上指定的天数或早于或等于 (-) 当前日期减去指定的天数的文件。
-Days 的有效值包括 0 到 32,768 范围内的任意数字。如果未指定指示,则默认使用 +。/?在命令提示符处显示帮助。
注意
- Forfiles经常用在批处理文件中。
- Forfiles/s类似于dir/s。
- 当命令行选项/c: 指定时,您可以在命令字符串中使用以下变量
- 使用 forfiles, 您可以运行上述命令或将参数传递给多个文件。例如,您可以对目录树中具有 .txt 文件扩展名 . 的所有文件运行 type 命令,或者您可以执行所有批处理文件 (* .bat) 在驱动器 C 上,文件名 "Myinput.txt" 作为第一个参数。
- 使用 forfiles, 您可以执行以下任何操作:
- 使用参数/d. 按绝对日期或相对日期选择文件
- 使用 @FSIZE 和 @FDATE 等变量创建一个存储文件的树。
- 使用@ISDIR变量将文件与目录区分开来。
- 在命令行中使用字符的十六进制代码包含特殊字符,格式为 0xHH(例如,0x09 用于制表符)。
- Forfiles 通过在旨在仅处理单个文件的工具上部署 recurse 子目录来工作。
例如
要列出驱动器 C 上的所有批处理文件,请输入:
forfiles/pc:/s/m *.bat/c "cmd/c echo @file 是一个批处理文件"
要列出驱动器 C 上的所有文件夹,请输入:
forfiles/pc:/s/m *.*/c "cmd/c if @isdir==TRUE echo @file is a directory"
要列出当前目录中至少存在一年的所有文件,请输入:
forfiles/s/m *.*/d-365/c "cmd/c echo @file 至少有一年了。"
要为当前目录中的每个文件显示“文件已过时”文本,在 2007 年 1 月 1 日之前存在,请输入:
forfiles/s/m *.*/d-01/01/2007/c "cmd/c echo @file is outdated."
以列格式列出当前目录下所有文件的文件扩展名,并在扩展名前添加制表符,输入:
forfiles/s/m *.*/c "cmd/c echo @file的扩展名是0x09@ext"
查看更多:
- Windows 中的火锅命令
- Windows 中的 Fc 命令
- RPWindows 中的 cping 命令
评论