【发布时间】:2019-09-27 09:21:34
【问题描述】:
我一直在检查每个地方,但似乎找不到我需要的资源。
到目前为止,我发现的所有内容都只比较了整个文件,但这不是我想要的。
我已经看到 cmd 的“文件比较”等工具可以提供帮助,但它的比较方式不符合需要。
FC [filepath1] [filepath2]
有没有办法让我做到这一点。
获取文本文件的第一行并将其与第二个文件的每一行进行比较,然后通过使用文件名创建一个新的文本文件并使用 >Name of file (first text文件)>所有匹配的文件(来自第二个文件)。然后它返回到第一个文本文件的第二行,并将其与第二个文件的每一行进行比较,并创建另一个文本文件做同样的事情,直到第一个文件变空。
我获取文本文件中所有文件的方法是运行以下命令。
Get-ChildItem -Path D:\Documents\Projects\audio -Recurse | Select-Object @{n='File'; e={$_.Name + "," + $_.LastWriteTime}} | Out-File "D:\Documents\Projects\audio\Log.txt"
Get-ChildItem -Path D:\Documents\Projects\video -Recurse | Select-Object @{n='File'; e={$_.Name + "," + $_.LastWriteTime}} | Out-File "D:\Documents\Projects\Video\Log.txt"
我将比较第一个文本文件中的视频文件名和第二个文本文件中的每个音频文件名。
一些视频有大约 2 个音频,其他大约 8 个音频,它们都具有相同的名称。我已经在寻找一种可以从文件名中删除最后 3 个字符的方法。
名字是这样写的
somefilm_v1.mxf
somefilm_a1.mxf
somefilm_a2.mxf
somefilm_a3.mxf
v1 指视频 1,a1 指音频 1。FileName_ 相同,只是 a*/v1 两个字符不同。所以我正在研究如何不检查文件名的最后 2/3 个字符。如果它也检查文件格式,可能必须将其增加到 5。
如果这也可以在比较发生之前通过批处理完成,那也很棒。
如果可能的话,我正在寻找批量完成。
【问题讨论】: