我试着用这种方式使用diff3
diff3选项..。我的老你的
我的问题是,我可能不能使用它,因为我所有的3个文件包含一个“破折号”在里面。手册提到:这三个文件名最多可以是‘-’,这告诉diff3读取该文件的标准输入。
因此,在运行diff3之前,我可能必须重命名文件名。
如果你知道一个更好的解决方案或解决办法,请让我知道。谢谢!
发布于 2014-04-27 10:47:26
这三个文件名最多可以是‘-’,这告诉diff3读取该文件的标准输入。
它没有声明你的文件名不应该包含破折号。它简单地说,如果你愿意,你可以把-而不是其中的一个名字,在这种情况下,标准输入将被读取而不是读取一个文件。
因此,您可以在您的文件名中有任意数量的破折号,并且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.移动文件的效率会更高(如果它们与脚本位于同一个磁盘卷上,而在您的情况下不是这样),您甚至可以将它们移回最初的位置,但在一段时间内它们将不会出现在它们原来的文件夹中。
https://stackoverflow.com/questions/23322315
复制相似问题