【发布时间】:2009-04-09 19:34:22
【问题描述】:
我正在调试一个 Windows 批处理命令文件。在路径或文件名中使用扩展 (> 0x7f) 字符时失败。该问题似乎与将参数传递给从另一个调用的命令文件有关。
例如,此命令按预期工作:
xcopy "Pezuñero\1 - 001.wav" \temp
这不是:
call another.cmd "Pezuñero"
“另一个.cmd”的内容:
xcopy "%~1\1 - 001.wav" \temp
%~1 语法扩展参数并删除引号。这是必要的,因为在真正的命令文件中,调用或被调用的命令文件中的路径可能有空格。
第二个例子的结果(从 CMD 窗口复制)是这样的:
C:\>call another.cmd "Pezu±ero"
C:\>xcopy "Pezu±ero\1 - 001.wav" \temp
File not found - 1 - 001.wav
0 File(s) copied
请注意,“ñ”(0xF1)字符已更改为“±”(0xB1)。
谁能解释发生了什么,以及如何解决这个问题?
【问题讨论】:
标签: windows delphi batch-file