我正试图在windows 8命令窗口中使用FORFILES遍历文件,方法如下:

CD "%RODIR%"
FORFILES /P "./DarkestHour" /C "cmd /c echo @fname"

其中RODIR是这样定义的用户变量:
SET RODIR
RODIR=C:\Program Files (x86)\Steam\SteamApps\common\RedOrchestra

RedOrchestra文件夹包含一个名为DarkestHour的文件夹,但是,我从FORFILES收到此错误消息:
错误:目录名无效。
即使尝试这样做(没有相对路径),也会产生相同的错误:
FORFILES /P "%RODIR%/DarkestHour" /C "cmd /c echo @fname"

我在这里做错什么了?对FORFILES'/P命令有什么限制吗?
提前感谢您的帮助!

最佳答案

/是开关指示器。\是目录分隔符。
下面是一个适合我的系统的演示:

@ECHO OFF
SETLOCAL
SET "sourcedir=U:\sourcedir"
PUSHD "%sourcedir%"
forfiles /p "./one" /c "cmd /c echo @fname"
ECHO ===================
forfiles /p ".\one" /c "cmd /c echo @fname"

POPD
GOTO :EOF

09-25 20:00