batチャレンジ! フォルダ内のファイル名から、文字列変換テキスト作成
ファイルをドラッグ&ドロップしたらリスト取得、のbatはよくあるんですが・・・
「フォルダ(ディレクトリ)」をドラッグ&ドロップして、求める結果が得られなかったので、今回自分が調べた内容を記録に残します。
<目的>
フォルダをドラッグ&ドロップ(以降D&D)して、そのフォルダ内のファイルをリストにしてテキストファイルに書き出す。
調べてすぐ出てくるのは、D&Dしたフォルダ・ファイルのカレントディレクトリのリストが取得されるっていうこと。
中身(下位層)のリストが取得できない!
↓
シンプルなこういうの
・・・
で作ったのがこれ。
使い方は、
以下コマンドをbatにして保存。
フォルダをD&Dすると、batと同じフォルダにtxtファイルが保存されます。
使い方は、
以下コマンドをbatにして保存。
フォルダをD&Dすると、batと同じフォルダにtxtファイルが保存されます。
@echo off
rem フォルダをbatにD&Dしてフォルダ内のリスト取得
rem コマンドプロンプトに表示
rem forfiles /p %~p1 /c "cmd /c echo @fname @ext"
rem テキストファイルに書き出し(batのある場所にtmp.txt一時作成)
forfiles /p %1 /c "cmd /c echo @fname@ext>> %~p0\tmp0.txt"
setlocal enabledelayedexpansion
for /f "delims=" %%a in (%~p0\tmp0.txt) do (
set line0=%%a
set line1=!line0:""=.!
set line1=!line1:"=!
echo !line1!>>%~p0\tmp1.txt
)
rem type %~p0\tmp0.txt > %~p0\rawlist_%~n1.txt
type %~p0\tmp1.txt > %~p0\FILELIST01_%~n1.txt
del %~p0\tmp0.txt
del %~p0\tmp1.txt
endlocal
---------------
以上。
D&Dするフォルダと同じドライブにbatを保存して使用してください!
<参考サイト>
↑
↓
--------------------------------------------
ちなみに、かなり特殊だけどカスタマイズしたのがこちら。
【テキスト1】ファイル名(拡張子なし)取得して、前後に文字列挿入&連番
【テキスト1】ファイルのフルパス名取得して、前後に文字列挿入&連番
0 コメント:
コメントを投稿