如何将没有文件扩展名的文件名列表按升序编写到文本文件中?

时间:2017-11-04 18:50:05

标签: batch-file

我想在我的批处理脚本中添加一个命令,用于按文件名中的数字按升序对文件中的文件进行排序。然后我想将它们全部写入文本文件。

目前我设法将文件名写入文本文件,但排序是个问题。 :(

for /R "C:\Users\AV\Desktop\AV_tests\Create_txt_file\" %%f in (*.jpg) do (
    echo %%~nf >> ROV_pics.txt
)

输出文件中的数字(带文件扩展名的文件名)为:

13611821 
26811901 
15411801 
25812001 
15611461 

如何将文件名(数字)按升序排序到输出文件中?

1 个答案:

答案 0 :(得分:1)

您应该查看所有 FOR命令的选项。在这种情况下,您需要/F option for processing the output of a command。您还应该查看 all DIR命令的选项。在这种情况下,您会发现/B/O选项很有用。

FOR /F %%I in ('dir /B /O:DN C:\Users\AV\Desktop\AV_tests\Create_txt_file\*.jpg') do echo %%~nI >> ROV_pics.txt

请注意,如果设置了usebackq,则应使用反引号而不是撇号包围dir命令;在SE风味的MarkDown中使用它们时,我还没弄清楚如何逃避它们。