在 dos cmd 中按降序附加多个文件

在 dos cmd 中按降序附加多个文件

我有一些文件,名称为 93112.txt、93111.txt、93110.txt 等。我想将它们放入一个组合文件中,以便首先放入最大数字的文件,然后是次小的数字文件……最后是最小的数字文件。

我需要一个简短的 DOS 命令来执行此操作。有什么指示吗?

答案1

尝试这个:

dir /b | sort /r > sorted.txt

  • dir /b仅打印目录中的项目名称。
  • |dir /b通过管道将的输出传输到sort
  • sort /r执行反向(降序)自然排序项目名称。
  • > sorted.txt将的标准输出重定向sort到文本文件(sorted.txt)。

笔记

  • 不同sortdir输出项目名称字典顺序,这会影响名称中带有数字的项目(例如,1, 2, 12, 22排序为1, 12, 2, 22)。

  • dir /b对于您的用例,单独使用(不带sort)可能是不可取的。

  • dir /b包括目录中的所有文件和子目录名称。

  • 任何输出文本文件(例如)都会在执行sorted.txt之前创建。dir /b

  • 为了避免将例如sorted.txt包含在中sorted.txt,请在您想要排序的目录之外运行这些命令,并指定目录的路径dir /b(即dir /b "C:\path\to\folder"代替使用dir /b)。

  • 您可以使用它.作为当前目录的简写引用,以避免输入例如C:\long\path\to\current\directory

  • 有关 Windows 的更多信息目录种类命令。


我需要按名称的降序顺序附加文件。

生成排序名称列表(例如sorted.txt)后,您将需要第二个命令来循环遍历文件并连接它们。例如:

FOR /F "tokens=*" %i IN (sorted.txt) DO type "C:\path\to\folder\%i" >> appended_items.txt

对于批处理文件,请使用%%而不是%(这是您在命令行中使用的)。请注意,>>类型命令附加到现有文件(例如appended_items.txt)。

相关内容