forfiles * .something mask不会过滤输出

时间:2012-01-19 14:48:06

标签: windows batch-file cmd

我正在尝试运行一个基本的forfiles命令,但无论我使用什么掩码,它总是只打印目录的整个内容。没有过滤* .bat没有“是一个批处理文件”,只是一个简单的列表关闭C:\中的所有文件 我正在研究winXPproffesional。可能是什么原因?

forfiles /p c:\ /s /m *.bat /c "cmd /c echo @file is a batch file"

3 个答案:

答案 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作为套件的一部分,尽管可以从thisthis article得出,但最初必须在那里。也许微软的家伙决定停止发布旧版本,以避免与新版本混淆。

是的,似乎您的forfiles副本是旧版本,语法略有不同,如in this post所述。