对不起,如果这之前问,但我很好奇什么是forfiles.exe在Windows中等效的Linux命令? 当我看到这个问题时,我想起了这个问题
find是全function的replace,但是对于当前目录中的文件的简单操作,这个sh script可以是非常有用的(并且更易于读/写):
for file in *.jpg; do echo "do something with $file" done
我认为find提供了forfiles提供的function。
find命令做你想要的。 这是一个例子:
find /mnt/Pictures -name '*.jpg' \! -mtime 7 -exec rm {} \;
这将删除/mnt/Pictures中最近7天(168小时)内未修改的所有jpg文件。 如果您不关心文件名的情况,请使用-iname而不是-name 。
下面是forfiles的参数和find的参数之间的对应关系:
/p – >path是find的第一个参数 /s – >默认在所有子目录中查找。 要禁用此function,请使用1的-maxdepth参数。 /c – > -exec 。 另外用@replace@file ,不要忘记用\;来结束命令\; (很多初学者都被这个错误所误导) /d – > -mtime n 。 文件数据是在n * 24小时前最后修改的。 你可以用适当的参数创build一个使用find的cron作业,例如-mtime +7