我试图在Visual Studio 2015命令窗口中使用Tools.DiffFiles。
当我输入文件名时,我从文件系统获取智能感知,所以我知道命令窗口可以访问我的文件系统,我知道文件存在。
当我执行命令时,错误消息",不存在或者是目录"归还。
我已经尝试将文件放在不同的文件夹中,引用而不是引用文件名,将文件名缩短到不需要引号的地方,等等。
很棒的工具,但为什么它找不到我的文件?
答案 0 :(得分:1)
当您编写命令Tools.DiffFiles时,请注意文件路径之间不要包含逗号。换句话说,命令定义是' Tools.DiffFiles path1 path2'和NOT' Tools.DiffFiles path1,path2'。 在后一种情况下,VS尝试比较文件' path1,'和' path2'抱怨它无法找到第一个文件。 希望这会有所帮助。
答案 1 :(得分:0)
最终在Visual Studio 17中对我有用的是进入完整路径。在键入Tools.DiffFiles后,使用“命令窗口”提供路径的智能感知/自动完成功能时,它从我打开的项目文件夹开始了路径,而忽略了路径的开始,我也得到了与上面相同的结果。
Tools.DiffFiles Tmp\logit.txt Tmp\logit2.txt
Tmp\logit.txt does not exist or is a directory
但是,当我从键入根映射驱动器(例如c:\)开始,然后继续按“ \”将目录遍历到所需文件时,在您打开的项目中,它最终成功了。
Tools.DiffFiles c:\Tmp\logit.txt c:\Tmp\logit2.txt
我注意到的另一件事是,例如,如果目录或文件名带有空格(c:\ My Documents),则intellisense / autocomplete很聪明,可以在路径周围添加双引号,这是必需的。如果路径中没有空格,则(c:\ MyDocuments)会取消引号。如果您尝试手动键入路径并在遇到空格时不加引号,则它也将不起作用。
>Tools.DiffFiles c:\Tmp\logit.txt c:\Tmp\logit 1 copy.txt
c:\Tmp\logit does not exist or is a directory
>Tools.DiffFiles c:\Tmp\logit.txt "c:\Tmp\logit 1 copy.txt"
答案 2 :(得分:0)
将文件路径括在引号中,例如>Tools.DiffFiles "c:\file1.txt" "c:\file2.txt" 然后它工作正常。