0
set SourceSCMPasswd=abc
set HATCONTESTING=yes 


for /f %%a in ('dir /AD /b')  do VssConverter.exe analyze %%a\settings.xml & move VSSAnalysisReport.xml %%a & move usermap.xml %%a

我知道它执行以下命令:1)在 %%a\settings.xml 上运行 VssConverter.exe 分析 2)将 VSSAnalysisReport.xml 移动到 %%a 3)将 usermap.xml 移动到 %%a

问题是,当目录中的文件夹名称中有空格时,例如 AMEX Mailer,变量 %%a 仅包含 AMEX 但不包含第二部分。如何使它包含全名?

4

2 回答 2

1

FOR /F 的默认标记分隔符是<tab>and <space>。您希望将整个字符串保留为单个标记,因此您不需要分隔符 ("DELIMS=") 默认 EOL 选项是;. 任何以 开头的行都;将被忽略。虽然不太可能,但文件名可能以 . 开头;。您想将 EOL 设置为某个不能出现在名称中的字符。好的候选人是:,*?

for /f "eol=: delims=" %%A in ...
于 2012-07-25T20:35:48.300 回答
0

试试这个:

for /f "delims=" %%a in ...
于 2012-07-25T20:19:06.650 回答