我想在我的批处理脚本中添加一个命令,用于按文件名中的数字按升序对文件中的文件进行排序。然后我想将它们全部写入文本文件。
目前我设法将文件名写入文本文件,但排序是个问题。 :(
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
如何将文件名(数字)按升序排序到输出文件中?
答案 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中使用它们时,我还没弄清楚如何逃避它们。