Batch file 如何查找和列出两个目录中的文件名差异?

Batch file 如何查找和列出两个目录中的文件名差异?,batch-file,cmd,Batch File,Cmd,我有两个文件夹: \txt \pdf 我已将*.txt文件从\txt\*.txt批量转换为\pdf\*.pdf \txt有6000个文件。 \pdf有5950个文件 如何使用Windows批处理文件列出不在pdf中的50个文件,以便检查这50个文件的转换失败的原因 本质上:两个目录应该有相同文件名的文件,但文件扩展名不同。列出“缺少”的文件名 for %t in (\txt\*.txt) do if not exist "\pdf\%~nt.pdf" >>missing.txt e

我有两个文件夹:

\txt
\pdf
我已将*.txt文件从
\txt\*.txt
批量转换为
\pdf\*.pdf

\txt
有6000个文件。
\pdf
有5950个文件

如何使用Windows批处理文件列出不在
pdf
中的50个文件,以便检查这50个文件的转换失败的原因

本质上:两个目录应该有相同文件名的文件,但文件扩展名不同。列出“缺少”的文件名

for %t in (\txt\*.txt) do if not exist "\pdf\%~nt.pdf" >>missing.txt echo %t
(从提示中)


(从提示中)

您可以将“dir”输出保存到.txt文件中,然后使用excel或文件比较软件进行比较。:)嗯。。。DOS批处理文件的效率和优雅程度是其他方法无法比拟的。。。因此,我的问题是。我能够为etc编写批处理转换,但没有达到比较两个不同目录中的文件名的程度。DOS批处理文件的效率和优雅?如果你只是通过一个文本差异实用程序,你会比你在这里发布问题更快。这是高效和优雅的。批处理不是一个有效的工具。一个特定的编译过的应用程序比一个智能shell做事情要快得多。这就是解决方案。。。不需要应用程序,不需要电子表格,删除这个和那个,以及VLOOKUP等等——我不认为这个问题是关于DOS批处理命令对特定问题应用程序的有效性:)。。。虽然我非常感谢您的输入。您可以将“dir”输出保存到.txt文件中,然后使用excel或文件比较软件进行比较。:)好的。。。DOS批处理文件的效率和优雅程度是其他方法无法比拟的。。。因此,我的问题是。我能够为etc编写批处理转换,但没有达到比较两个不同目录中的文件名的程度。DOS批处理文件的效率和优雅?如果你只是通过一个文本差异实用程序,你会比你在这里发布问题更快。这是高效和优雅的。批处理不是一个有效的工具。一个特定的编译过的应用程序比一个智能shell做事情要快得多。这就是解决方案。。。不需要应用程序,不需要电子表格,删除这个和那个,以及VLOOKUP等等——我不认为这个问题是关于DOS批处理命令对特定问题应用程序的有效性:)。。。虽然我很感激你的意见,真漂亮!非常感谢。它是有效的。。。它很优雅,不需要任何其他“助手”:@Ken,从内存来看,重定向可以在“命令”中的任何地方进行,我经常使用它来防止
echo something>afile
导致的尾随空格,因为我不想做
。。。某物>文件
:-)@paxdiablo:结果证明你们都是对的,而我不是从提示中处理Win 10。当你们都有机会看到这个时,会在一两分钟内清理干净。
>qq.txt echo hello
后跟
键入qq.txt
肯定会显示它进入文件。重定向属于
回送
而不是
(我不确定这方面,但我检查了),因为如果您将其从
>
更改为
,则只有最后一个会出现在文件中。@paxdiablo:是的,这也是我发现的。感谢你们两位上的课。:-)美丽的!非常感谢。它是有效的。。。它很优雅,不需要任何其他“助手”:@Ken,从内存来看,重定向可以在“命令”中的任何地方进行,我经常使用它来防止
echo something>afile
导致的尾随空格,因为我不想做
。。。某物>文件
:-)@paxdiablo:结果证明你们都是对的,而我不是从提示中处理Win 10。当你们都有机会看到这个时,会在一两分钟内清理干净。
>qq.txt echo hello
后跟
键入qq.txt
肯定会显示它进入文件。重定向属于
回送
而不是
(我不确定这方面,但我检查了),因为如果您将其从
>
更改为
,则只有最后一个会出现在文件中。@paxdiablo:是的,这也是我发现的。感谢你们两位上的课。:-)