Tools.DiffFiles返回错误<filename>不存在或者是目录

时间:2017-03-31 13:34:55

标签: visual-studio-2015 diff

我试图在Visual Studio 2015命令窗口中使用Tools.DiffFiles。

当我输入文件名时,我从文件系统获取智能感知,所以我知道命令窗口可以访问我的文件系统,我知道文件存在。

当我执行命令时,错误消息&#34;,不存在或者是目录&#34;归还。

我已经尝试将文件放在不同的文件夹中,引用而不是引用文件名,将文件名缩短到不需要引号的地方,等等。

很棒的工具,但为什么它找不到我的文件?

3 个答案:

答案 0 :(得分:1)

当您编写命令Tools.DiffFiles时,请注意文件路径之间不要包含逗号。换句话说,命令定义是&#39; Tools.DiffFiles path1 path2&#39;和NOT&#39; Tools.DiffFiles path1,path2&#39;。 在后一种情况下,VS尝试比较文件&#39; path1,&#39;和&#39; path2&#39;抱怨它无法找到第一个文件。 希望这会有所帮助。

答案 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" 然后它工作正常。