我有一个场景:
FORFILES /P "C:\users\DominiqueGerry\Work Files\" /S /M *.doc /C "cmd /c echo @fsize"
出现错误:
错误:无效的参数/选项 - '@fsize'。
输入 "FORFILES /?" 以获取用法说明。
但是当我去掉斜杠后,它可以正常工作:
FORFILES /P "C:\users\DominiqueGerry\Work Files" /S /M *.doc /C "cmd /c echo @fsize"
我不理解为什么这个命令在没有反斜杠的情况下不能正常工作,但是有反斜杠时也不能正常工作。我找不到任何官方文件来解释这个问题,并且运行
forfiles /?
时也没有看到任何相关说明。如果您能提供帮助,我将不胜感激。最好的部分是,错误甚至与问题本身无关。
xcopy
),而有些则不需要。对于命令来说,没有标准。每个程序员在编写时都会面临特定的问题,因此会采取自己的方式。Windows基本功能试图修复错误路径,假设它不能与正确路径混淆。 - catcatforfiles
命令来输出文件大小是一个非常慢的方法,因为它会为每个文件启动一个新的命令进程。这个输出被forfiles
捕获并在执行forfiles
的 cmd 进程中输出。对于这个任务来说,最好使用for
命令和批处理文件 cmd 行for /R "C:\users\DominiqueGerry\Work Files" %%I in (*.doc) do echo %%~zI
。只有在使用forfiles
选项/D
时,forfiles
才比for
更有用,而通常基于最后修改日期的文件/文件夹复制/移动任务更适合使用robocopy
或旧版的xcopy
。 - Mofiforfiles /?
帮助中的一个直接示例。当运行帮助时,您可以在示例的倒数第二行看到它。@catcat,感谢您的评论,但有些需要\,有些则不需要,这并不能真正解释问题所在。 - Gerry