- 履歴一覧
- 差分 を表示
- 現在との差分 を表示
- 履歴 を表示
- シェル/bat/tsvを読んでファイルをコピーする へ行く。
- 1 (2017-12-07 (木) 13:54:16)
#author("2017-12-07T04:54:16+00:00","default:haruki","haruki") * キーワード [#h19c3c3c] - Windows - bat - tsv * したいこと [#scdd914d] tsvを読んでファイルをコピーしたい、バッチで。 tsvには次のような感じでコピー元とコピー先が定義されているとする。 path\to\コピー元1 path\to\コピー先1 path\to\コピー元2 path\to\コピー先2 ... * どうやって [#k2b02ec8] こう書いた。 @cd /d %~dp0 @echo off set FOLDER_SRC=C:\path\to\コピー元ルート set FOLDER_DST=C:\path\to\コピー先ルート rem ### main for /f "delims= tokens=1,2" %%i in (filelist.tsv) do ( set FILE_SRC=%FOLDER_SRC%\%%i set FILE_DST=%FOLDER_DST%\%%j call :CopyFile ) exit /b rem ### copy file :CopyFile if exist "%FILE_SRC%" ( copy /y "%FILE_SRC%" "%FILE_DST%" > nul 2>&1 ) else ( echo "%FILE_SRC%" 1>&2 ) exit /b * ちなみに [#j9291ef7] 久しぶりにWindowsバッチなのでかなり手こずった。いろいろ脆いけど、ファイル収集用なので気にしない。 * 参考 [#kabd6d3f] - [[【bat】Windowsのバッチファイル(*.bat)の書き方自分用まとめ - Qiita>https://qiita.com/sksmnagisa/items/8c4c1788af44cc1dc63a]]