windowsバッチでリストファイルに書かれた内容を1行ずつ処理しながらループする方法

更新:2018.9.28

目次

コード

list.txtに書かれたファイルを順番にコピーするサンプルになります。

list.txtの内容。

file1.txt
file2.txt
file3.txt

copy.batの内容。

@echo off
SET listfile=list.txt
SET dirfrom=C:\from
SET dirto=C:\to
FOR /F %%I IN (%listfile%) DO (
    copy %dirfrom%\%%I %dirto%\%%I
)

解説

ファイル名が書かれたファイル名を変数に格納しています。

SET listfile=list.txt

コピー元のディレクトリを指定してます。

SET dirfrom=C:\from

コピー先のディレクトリを指定してます。

SET dirto=C:\to

list.txtの中身を展開してループを回しています。

%%Iの中にファイルから読み取った1行が格納されます。

FOR /F %%I IN (%listfile%) DO (
    copy %dirfrom%\%%I %dirto%\%%I
)
Windows関連記事










これからブログなどのサイトを作りたいと思っている人は、お名前.comでのドメイン取得がオススメです。

■□━━ 急げ、ドメインは早い者勝ち! ━━□■
     ■お名前.com

アマゾンの2019年本屋大賞一覧

そして、バトンは渡された
ひと
ベルリンは晴れているか
熱帯
ある男

楽天市場のおすすめ商品一覧

お金2.0 新しい経済のルールと生き方 [ 佐藤航陽 ]
全部レンチン!やせるおかず 作りおき 時短、手間なし、失敗なし
「読む力」と「地頭力」がいっきに身につく 東大読書 [ 西岡 壱誠 ]