如何将名称中带有space的文件传递给命令FC?
How to pass a file with space in the name to command FC?
我有一个包含命令 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
是罪魁祸首。
有没有办法告诉它不拆分文件名? (像引号一样?)
我想要一种与拖放兼容的方式,而不是 重命名不带空格的文件,如果可能...
提前致谢!
FC /L /N "%~1" "%~2" > diff.out.txt 2> diff.err.txt
应该阅读您的文件。我假设您的参数只是用双引号引起来,并且它们不包含发布的 `。
我有一个包含命令 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
是罪魁祸首。
有没有办法告诉它不拆分文件名? (像引号一样?)
我想要一种与拖放兼容的方式,而不是 重命名不带空格的文件,如果可能...
提前致谢!
FC /L /N "%~1" "%~2" > diff.out.txt 2> diff.err.txt
应该阅读您的文件。我假设您的参数只是用双引号引起来,并且它们不包含发布的 `。