【发布时间】:2014-05-25 09:37:27
【问题描述】:
以下在命令行中有效,但第二个在批处理脚本中失败。失败是指它立即退出 .Bat。甚至不会在 FOR /F ...... 执行行之后的 PAUSE 处立即停止。
控制台:
FOR /F "TOKENS=1 delims=" %I IN ('Dir *.Properties /B') DO (If NOT EXIST ..\Working\%~nI_ru.properties copy %~nI.properties ..\New_Files\%~nI_ru.properties)
批处理文件:
FOR /F "TOKENS=1 delims=" %%I IN ('Dir *.Properties /B') DO (If NOT EXIST ..\Working\%%~nI_ru.properties copy %%~nI.properties ..\New_Files\%%~nI_ru.properties)
它正在比较两个软件版本版本并选择那些可用的“新”属性文件并将它们复制到带有文件名更改的 New_File 目录。
ThisIsANewFile.properties 被复制为 ThisIsANewFile**_ru**.properties,即 _ru 附加到文件名
感谢任何知道我做错了什么的人,
【问题讨论】:
-
请用代码标签包围您的代码
-
您的文件名是否包含空格或
&字符?如果是这样,则需要引用这些条款。打开一个 cmd 窗口并启动批处理文件。您将看到错误消息。
标签: loops batch-file for-loop cmd nested