バッチファイル内に次のものがあります。
for /D %%A IN (*) DO echo %%A>> output.txt
これからの結果をアルファベット順にしたいのですが、代わりに日付順に並べられているようです。
これを達成する方法を誰かが提案できますか?
バッチファイル内に次のものがあります。
for /D %%A IN (*) DO echo %%A>> output.txt
これからの結果をアルファベット順にしたいのですが、代わりに日付順に並べられているようです。
これを達成する方法を誰かが提案できますか?
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
非常に便利です...
sort
コマンドを使用するだけです。
for /D %%A IN (*) DO echo %%A>> output.txt
sort output.txt > sorted_output.txt
sort /?
このコマンドの詳細については、またはこちらを呼び出して参照してください。
コマンドのヘルプで読むことができるよう/O
に、標準出力の代わりに出力をファイルにリダイレクトするために使用できます。これにより、次の 2 つのファイルが不要になります。
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
また、最後に一度出力を書き込むため、はるかに高速です。