Just another IT site ※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。At Your Own Risk!! TURN BACK WHILE YOU CAN
PR

複数ファイルを対象に繰り返し処理をするバッチ(出力ファイル名かぶらない前提)

※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。スクリプトはAI生成のものも多いのでコピー&ペーストの際は文字コードに注意ください!
スポンサーリンク
バッチ処理の自動化スキルは市場価値が高いです。今の自分の単価を調べてみませんか?
顧客常駐はもう嫌だ!社内SEへ転職するなら【社内SE転職ナビ】
Cursor・Claude Code・Codex AIスキルを学ぶなら
環境構築不要!AIエージェント開発を非エンジニアでも即実践【AI Agent Camp】

複数ファイルを対象に繰り返し処理をするバッチ(出力ファイル名かぶらない前提

@ECHO OFF

FOR %%i IN (%*) DO (
 CALL :SUB %%i
)
EXIT /b

:SUB
SET 設定したい環境変数があれば↓例
SET filename=%~n1 ファイル名拡張子前までを取得
SET kakuchosi=%~x1 拡張子を取得
SET dirname=%~dp0 実行するバッチファイルの格納先ディレクトリ取得
ファイルに対して実行するコマンド(出力ファイル名はかぶらないこと)↓例 %1はドラッグするファイル名を表す
%dirname%コマンド %1 %dirname%\%filename%_任意の文字列%kakuchosi%
EXIT /b
:subの部分を変更することで色々できます。

例えば以下のようにすると、同じフォルダにnkf.exeを置いて複数のUTF8/LFファイルを放り込むと、Shift_JIS/CRLFに変換して、ファイル名に_CRLFを付けたものを出力します。

:SUB
SET filename=%~n1 ファイル名拡張子前までを取得 
SET kakuchosi=%~x1 拡張子を取得 
SET dirname=%~dp0 実行するバッチファイルの格納先ディレクトリ取得 
ファイルに対して実行するコマンド(出力ファイル名はかぶらないこと)↓例 %1はドラッグするファイル名を表す 
%dirname%nkf -OLw %1 %dirname%\%filename%_CRLF%kakuchosi% 
EXIT /b
タイトルとURLをコピーしました