Linux 中 forfiles.exe 的等效程序

Linux 中 forfiles.exe 的等效程序

抱歉,如果之前有人问过这个问题,但我很好奇什么是等效的 Linux 命令执行文件在 Windows 中?当我看到问题

答案1

find是功能齐全的替代品,但对于当前目录中文件的简单操作,这个sh脚本也非常有用(并且更容易读/写):

for file in *.jpg; do
  echo "do something with $file"
done

答案2

寻找命令会执行您想要的操作。以下是示例:

find /mnt/Pictures -name '*.jpg' -mtime +7 -exec rm {} \;

这将删除 中的所有 jpg 文件/mnt/Pictures,这些文件在过去 7 天(168 小时)或更长时间内没有被修改过。如果您不介意文件名的大小写,请使用-iname而不是-name

以下是参数之间的对应关系福尔菲斯以及参数寻找

  • /p→ 路径是 find 的第一个参数。
  • /s→ 默认情况下 find 会搜索所有子目录。要禁用此功能,请使用-maxdepth值为1的选项,即-maxdepth 1
  • /c-exec。还要替换@file{},并且不要忘记以 结束命令\;(许多初学者都犯过这个错误)。
  • /d-mtime n. 文件数据最后修改时间n*24 小时前;用于+n大于n并且-n少于n

如果需要否定某个条件,请使用!。因为!在某些 shell(包括 Bash)下是特殊字符,所以需要对其进行转义或引用,因此\!大多数时候你会这样写。

答案3

我认为寻找提供 forfiles 提供的功能。

答案4

您可以创建一个使用 find 和适当参数的 cron 作业,例如 -mtime +7

相关内容