• ベストアンサー

ファイル名を複数の変数に分割するbatファイル

動画エンコードを効率化するbatファイルを作成しようとしています。 チャンネル名 日付 番組名.avs という形式のファイル名があります。 このファイル名をもつファイルを変数に格納するとき、 set CHANNEL=チャンネル名 set DATE=日付 set TITLE=番組名 set FILE_TYPE=%~x1 というように分けて格納したいのですが、どのような記述をすれば良いのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10361)
回答No.2

間に空白があると言うことですか?そうだとすると、 for /f "tokens=1-4 delims=. " %%A in ("チャンネル名 日付 番組名.avs") do ( set CHANNEL=%%A set DATE=%%B set TITLE=%%C set FILE_TYPE=%%D ) そうじゃなくて、「何文字目から何文字」を取り出すのであれば、 set FILE=チャンネル名 日付 番組名.avs set CHANNEL=%FILE:~0,2% とか。

beat_it777
質問者

お礼

ありがとうございます。解決しました。 前者の通り、半角スペースでファイル名を区切るという意味です。

その他の回答 (1)

noname#158634
noname#158634
回答No.1

setのヘルプを見てください。

関連するQ&A