我正在尝试运行一个基本的forfiles命令,但无论我使用什么掩码,它总是只打印目录的整个内容。没有过滤* .bat没有“是一个批处理文件”,只是一个简单的列表关闭C:\中的所有文件 我正在研究winXPproffesional。可能是什么原因?
forfiles /p c:\ /s /m *.bat /c "cmd /c echo @file is a batch file"
答案 0 :(得分:2)
不知何故,此版本使用不同的语法:
FORFILES -pc:\ -s -m*.BAT -c"CMD /C Echo @file is a batch file"
作品!
答案 1 :(得分:0)
该命令应该有效。
也许您在当前目录或恰好位于PATH中的其他目录中有FORFILES.BAT,FORFILES.CMD或FORFILES.EXE的伪造副本。
尝试从命令行运行此命令以验证是否正在执行正确的FORFILES.EXE。
for %F in (forfiles.exe forfiles.bat forfiles.cmd) do @echo %~$path:F
如果那不是问题,那么我觉得你有一个错误的FORFILES版本。
尝试一次使用一个选项,看看哪个选项有效
答案 2 :(得分:0)
事实上,there's no forfiles
in Windows XP但 一个in Windows 2003 Server,而syntax就像你的问题一样。
Windows 2000 确实拥有该工具,但仅限于资源工具包的形式,必须单独下载。出于某种原因,corresponding Technet article未列出forfiles
作为套件的一部分,尽管可以从this和this article得出,但最初必须在那里。也许微软的家伙决定停止发布旧版本,以避免与新版本混淆。
是的,似乎您的forfiles
副本是旧版本,语法略有不同,如in this post所述。