生活哲学

Windows 中的 Forfiles 命令

forfiles 命令选择并在一个文件或一组文件上执行命令。该命令对批处理非常有用。

该命令的使用示例,请看下面的示例。

文件命令的语法

 forfiles [/p ] [/m ] [/s] [/c "] [/d [{+|-}][{|}]]  forfiles [/p ] [/m ] [/s] [/c " "] [/d [{+|-}][{|}]] 

参数

参数 说明/p 指定命令开始搜索的路径。默认情况下,搜索从当前目录开始。/m 根据指定的搜索mash搜索文件。默认搜索混搭是 *. *。/s 表示在子目录中递归搜索forfiles命令。/c " "对每个文件运行指定的命令。命令字符串必须用引号引起来。默认命令是 " cmd/c echo @file " 。/D [{+ |-}] ⁠ [{| ⁠}] 选择在指定时间范围内最后一次修改日期的文件。
-选择修改日期晚于或等于(+)或早于或等于(-)指定日期的文件,其中Date格式为MM/DD/YYYY。
-选择要修改的日期晚于或等于当前 (+) 日期加上指定的天数或早于或等于 (-) 当前日期减去指定的天数的文件。
-Days 的有效值包括 0 到 32,768 范围内的任意数字。如果未指定指示,则默认使用 +。/?在命令提示符处显示帮助。

注意

  1. Forfiles经常用在批处理文件中。
  2. Forfiles/s类似于dir/s
  3. 当命令行选项/c:
  4. 指定时,您可以在命令字符串中使用以下变量
描述变量@FILE 文件名。 @FNAME 不带扩展名的文件名。 @EXT 文件扩展名。 @PATH 文件的完整路径。 @RELPATH 文件的相对路径。 @ISDIR 如果文件类型是目录,则评估为 TRUE。如果不是,此变量将评估为 FALSE。 @FSIZE 文件大小,以字节为单位。 @FDATE 文件中记录了最新的更改日期。 @FTIME 文件中记录了最新的更改时间。
  1. 使用 forfiles, 您可以运行上述命令或将参数传递给多个文件。例如,您可以对目录树中具有 .txt 文件扩展名 . 的所有文件运行 type 命令,或者您可以执行所有批处理文件 (* .bat) 在驱动器 C 上,文件名 "Myinput.txt" 作为第一个参数。
  2. 使用 forfiles, 您可以执行以下任何操作:
    1. 使用参数/d.
    2. 按绝对日期或相对日期选择文件
    3. 使用 @FSIZE@FDATE 等变量创建一个存储文件的树。
    4. 使用@ISDIR变量将文件与目录区分开来。
    5. 在命令行中使用字符的十六进制代码包含特殊字符,格式为 0xHH(例如,0x09 用于制表符)。
  3. 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" 

查看更多:

  1. Windows 中的火锅命令
  2. Windows 中的 Fc 命令
  3. RPWindows 中的 cping 命令

相关资讯

评论

回复