我有一个批处理文件,其中包含以下内容:
for /D %%A IN (*) DO echo %%A>> output.txt
我希望结果按字母顺序排列,但实际上它似乎是按日期排序的。有人能建议如何实现吗?
我有一个批处理文件,其中包含以下内容:
for /D %%A IN (*) DO echo %%A>> output.txt
for /f "delims=" %%a in ( 'dir /b /ad /oN') do echo %%a >> output.txt
如果你只想回显目录名
dir /b /ad /oN >> output.txt
就足够了...
在命令提示符下,help for
和help dir
非常有用...
delims
来处理带有空格的名称。 - Neil只需使用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
此外,它的速度更快,因为它只在最后一次写出输出。
FOR /D
(以及简单的FOR
)似乎按字母顺序返回项目。当我需要不同的排序时,我必须使用类似于@rene答案中的内容。如果可以自定义FOR
/FOR /D
返回的项目排序,那么知道如何实现将是很好的事情。 - Andriy M