dirコマンドでできそうでできなかったのでメモ。
【フォルダ構成】
C:\tmp>dir /s
ドライブ C のボリューム ラベルは XXX です
ボリューム シリアル番号は XXX です
C:\tmp のディレクトリ
2018/07/31 22:35 <DIR> .
2018/07/31 22:35 <DIR> ..
2018/07/31 22:32 <DIR> test
2018/07/31 22:34 185 test.bat
1 個のファイル 185 バイト
C:\tmp\test のディレクトリ
2018/07/31 22:32 <DIR> .
2018/07/31 22:32 <DIR> ..
2018/07/31 22:27 <DIR> 1
2018/07/31 22:28 <DIR> 2
0 個のファイル 0 バイト
C:\tmp\test\1 のディレクトリ
2018/07/31 22:27 <DIR> .
2018/07/31 22:27 <DIR> ..
2018/07/31 22:27 0 hoge.txt
1 個のファイル 0 バイト
C:\tmp\test\2 のディレクトリ
2018/07/31 22:28 <DIR> .
2018/07/31 22:28 <DIR> ..
2018/07/31 22:27 0 fuga.txt
1 個のファイル 0 バイト
ファイルの総数:
3 個のファイル 185 バイト
11 個のディレクトリ 35,063,934,976 バイトの空き領域
C:\tmp>
【test.batの中身】
rem remはコメント
rem C:\tmpへ移動
cd C:\tmp
rem output.txtを空ファイルで出力
type nul > output.txt
rem ファイル一覧(フルパス)をtmp.txtに出力
rem testフォルダ以下の全ファイルが対象
dir /a-d /b /s test > tmp.txt
rem tmp.txtからファイル名と拡張子のみ抽出
rem tmp.txtを1行ずつ加工しoutput.txtに出力
rem 全行処理後にtmp.txtは削除
for /f %%a in (tmp.txt) do (call :method %%a)
del tmp.txt
exit
:method
echo %~n1%~x1>>output.txt
goto :eof
【test.bat実行後のoutput.txtの中身】
hoge.txt
fuga.txt
--------------------------
手作業だと終わらないけどプログラムを作るほどでもない作業が発生することは度々あるので、そのような時にWindowsバッチをパパっと作れるようになると作業効率化になったりします。
他のスクリプト言語でも良いですが、WindowsバッチだとWindows端末ならどこでも使えるので。
他にもExcelやsakuraエディタの機能を使いこなせるようになると作業が早くなるので、このあたりのことは随時記事にしていきたいと思います。