我试图以这种方式使用diff3
diff3选项...我的老你的
我的问题是我可能无法使用它,因为我的所有3个文件都包含"破折号"内。 手册提到: 这三个文件名中最多的一个可能是` - ',它告诉diff3读取该文件的标准输入。
因此我可能必须在运行diff3之前重命名文件名。
如果您知道更好的解决方案或解决方法,请告诉我们。谢谢!
答案 0 :(得分:0)
这三个文件名中最多的一个可能是“ - ”,它告诉diff3读取该文件的标准输入。
它没有说明您的文件名不应该包含短划线符号。它只是说,如果你想要,你可以放-
而不是其中一个名字,在这种情况下,将读取标准输入而不是读取其中一个文件。< / p>
因此,您可以在文件名中包含尽可能多的破折号,并且diff3应该可以正常工作。
但是,在Windows上将文件名放在""
中以转义空格字符不起作用,我找不到合适的解决方法。但是,您可以自动化重命名文件的过程(如果文件相对较小,这甚至不会太低效):
@echo off
copy %1 tempfile_1.txt
copy %2 tempfile_2.txt
copy %3 tempfile_3.txt
"C:\Program Files (x86)\KDiff3\bin\diff3.exe" -E tempfile_1.txt tempfile_2.txt tempfile_3.txt
del tempfile_1.txt tempfile_2.txt tempfile_3.txt
将它放在像diff3.cmd这样的文件中,然后运行diff3.cmd "first file.txt" "second file.txt" "third file.txt"
。
P.S。移动文件会更有效(如果它们与脚本位于相同的磁盘卷上,它们不在你的情况下),你甚至可以将它们移回原来的位置,但有一段时间它们不会出现在他们的原始文件夹。