排序批处理文件结果

时间:2013-01-26 16:02:31

标签: sorting batch-file

我在批处理文件中有以下内容。

for /D %%A IN (*) DO echo %%A>> output.txt

我希望这个结果按字母顺序排列,而不是按日期排序。

有人可以建议如何实现这一目标吗?

2 个答案:

答案 0 :(得分:4)

您可以使用dir命令对文件夹进行排序并回显它们......

for /f "delims=" %%a in ( 'dir /b /ad /oN') do echo %%a  >> output.txt

如果您只想回显目录名

  

dir / b / ad / oN>> output.txt的

就够了......

在命令提示符help forhelp dir上退出有用...

答案 1 :(得分:3)

只需使用sort命令。

for /D %%A IN (*) DO echo %%A>> output.txt
sort output.txt > sorted_output.txt

您可以通过调用sort /?here来了解有关此命令的更多信息。

正如您可以在命令的帮助下阅读,您可以使用/O将输出重定向到文件而不是标准输出。有了它,你可以避免需要两个文件:

for /D %%A IN (*) DO echo %%A>> output.txt
sort output.txt /O output.txt
编辑:一个不错的单行可能是:

(for /D %%A IN (*) DO echo %%A) | sort > output.txt

它也快得多,因为它最后一次写入输出。