我在批处理文件中有以下内容。
for /D %%A IN (*) DO echo %%A>> output.txt
我希望这个结果按字母顺序排列,而不是按日期排序。
有人可以建议如何实现这一目标吗?
答案 0 :(得分:4)
您可以使用dir命令对文件夹进行排序并回显它们......
for /f "delims=" %%a in ( 'dir /b /ad /oN') do echo %%a >> output.txt
如果您只想回显目录名
dir / b / ad / oN>> output.txt的
就够了......
在命令提示符help for
和help 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
它也快得多,因为它最后一次写入输出。