3

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

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

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

谁能建议如何实现这一目标?

4

2 回答 2

4

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

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

如果你只想回显目录名

目录 /b /ad /oN >> output.txt

就够了……

在命令提示符下help forhelp dir 非常有用...

于 2013-01-26T16:09:54.160 回答
3

只需使用sort命令。

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

sort /?您可以通过调用或在此处阅读有关此命令的更多信息。

正如您在命令的帮助中所读到的,您可以使用/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

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

于 2013-01-26T16:09:41.560 回答