我有一个包含命令FC
的diff脚本,所以我只需要删除两个文件:
FC /L /N "%1" "%2" > diff.out.txt 2> diff.err.txt
它工作正常,但如果其中一个文件名称中有空格...
例如,我的文件路径为C:\Users\joH1\Desktop\file_with a_space.txt
和C:\Users\joH1\Desktop\file_2.txt
,我收到错误(对不起本地化):
FC : commutateur non valide
FC : impossible d'ouvrir C:\USERS\JOH1\DESKTOP\FILE_WITH - Ce fichier ou dossier n'existe pas
因此,文件名被拆分为两个单独的参数,即使引用了路径。
为了找出它的来源,我在我的剧本中添加了一些行:
echo %1
echo %2
FC /L /N "%1" "%2" > diff.out.txt 2> diff.err.txt
pause
我得到echo
s的正确输出(虽然args没有引用!):
"C:\Users\joH1\Desktop\file_with a_space.txt"
"C:\Users\joH1\Desktop\file_2.txt"
我甚至尝试使用dir
来确保echo
没有合并分裂参数,并且我得到了正确的结果(文件被识别并列出=>名称未拆分)。
因此;我想FC
应该归咎于此。
有没有办法告诉它不分割文件名? (比如引号应该?) 我想要一种与drag& amp;如果可能的话,那就不是重命名没有空格的文件 ......
提前致谢!
答案 0 :(得分:1)
FC /L /N "%~1" "%~2" > diff.out.txt 2> diff.err.txt
应该读取您的文件。我假设您的参数只是双引号,并且它们不包含`。