forfiles

  • 一、结果输出格式
  • 二、按时间搜索
  • 三、搜索指定类型文件
  • 四、批量删除文件


forfiles是Windows自带的命令,常用来搜索文件。

参数

  • /p path 指定搜索的路径(默认当前路径)
  • /s 递归查询(默认只查询一层目录)
  • /c commend 指定命令(默认 /c echo @file
  • /d date 指定日期(默认 +
  • /m 模糊匹配(默认是 *

不加参数,默认显示当前目录中所有文件名。

foxplus append命令 对应 MySQL什麽命令_当前目录

一、结果输出格式

/c 参数可以指定结果的展示字段,固定格式:/c "cmd /c echo 变量名"

1)树池文件的完整路径

forfiles /c "cmd /c echo @path"

foxplus append命令 对应 MySQL什麽命令_搜索_02

2)输出文件的文件名和扩展名,想同时显示两个字段,用空格间隔即可。

forfiles /c "cmd /c echo @file @ext"

foxplus append命令 对应 MySQL什麽命令_文件名_03

/c 参数支持的变量名还有:

  • @file 返回文件名
  • @fname 返回不带扩展名的文件名
  • @ext 只返回文件的扩展名
  • @path 返回文件的完整路径
  • @relpath 返回文件的相对路径
  • @isdir 判断文件类型是否为目录,返回TRUE/FALSE
  • @fsize 返回文件大小(字节)
  • @fdate 返回文件上一次修改日期
  • @ftime 返回文件上一次修改时间

3)除了变量,/c 参数还支持输出自定义描述信息,比如:

forfiles /c "cmd /c echo @file 自定义文字"

foxplus append命令 对应 MySQL什麽命令_搜索_04

二、按时间搜索

/d 参数可以按照指定时间搜索文件,+ 表示之后,- 表示之前。

/d 参数支持两种时间搜索格式:

  • yyyy/MM/dd 指定日期
  • dd 指定天数(0-32768范围内)

1)搜索2023年4月30日之后修改过的文件

forfiles /s /d 2023/4/30

foxplus append命令 对应 MySQL什麽命令_搜索_05

2)搜索当前目录下,一天之前修改过的文件。

forfiles /d -1

3)递归搜索D盘中,2023年4月30日之后修改过的文件,并输出文件修改时间和文件路径。

forfiles /s /p d:\ /d 2023/4/30 /c "cmd /c echo @fdate @ftime @path"

foxplus append命令 对应 MySQL什麽命令_当前目录_06

三、搜索指定类型文件

/m 参数可以模糊匹配文件名,常用来搜索指定类型的文件。

1)查找text类型的文件。

forfiles /m *.txt

foxplus append命令 对应 MySQL什麽命令_搜索_07


2)查找以 file 开头的文件

forfiles /m file*

foxplus append命令 对应 MySQL什麽命令_当前目录_08

四、批量删除文件

/c 参数还可以用来删除文件,固定格式 /c "cmd /c del /q @file"

1)删除当前目录下的所有文件

forfiles /c "cmd /c del /q @file"

foxplus append命令 对应 MySQL什麽命令_网络安全_09

2)删除30天前的过期文件,常用于ftp服务器等场景。

forfiles /p "d:\" /d -30 /c "cmd /c  del /q @file"