Winで絶対パスが記載された一覧ファイルをバッチでコピーする

この記事は次のブログに引っ越しました。

Windows環境で、コピーしたいファイル名の一覧があって、それらを特定のフォルダに一括コピーしたい場合のバッチ(BAT)ファイルの作り方です。 準備 コピー先のフォルダ作成 (例:"CopiedFiles") コピーしたいファイルの一覧が書かれたテキスト (例:"ListToCopy.txt") コピーを実行するバッチ・ファイル (例:"DoCopy.bat") ファイル一覧の中身の例 (ListToCopy.txt) C:\Windows\system32\kernel32.dll C:\Windows\system32\kernelbase.dll C:\Windows\system32\mscoree.dll C:\Windows\SYSTEM32\ntdll.dll C:\Windows\system32\ACLUI.dll C:\Windows\system32\ACTIVEDS.dll C:\Windows\system32\adsldpc.dll C:\Windows\system32\advapi32.dll C:\Windows\system32\ADVPACK.dll (以下続く) バッチ・ファイルの中身 (DoCopy.bat) for /F %%i in ( .\ListToCopy.txt ) do copy %%i .\CopiedFiles 上記をメモ帳に書いて保存後、拡張子を".txt"→".bat"に変更すればバッチファイルになります。 上記は、バッチファイル、コピー先ディレクトリ(フォルダ)、コピー元の一覧ファイルが同じ階層にある場合です。"C:\CopiedFiles"といった絶対パスでの記載も可能です。 コピーの実行 (バッチの実行) バッチ・ファイルを「バッチコーイ」と言いながらダブルクリックするとコマンド・プロンプトが立ち上がり、コピーが始まります。 記載したファイルが、実際にのパスに存在しない場合は当然コピーされませんが、コピー処理は無視してそのまま続行されます。 主な用途:MacLinuxでWineを使う際にWinアプリが必要なDLLを調べる 最近、iMac上のBOOTCAMPでWindows7を使っているのですが、Mac OSX Lionも触るようになりました。Winアプリが必要な時は、基本は"VMWare Fusion4"を起動させて使っていますが、"OSX"はUNIXなので、有名な"Wine"を使ってWindowsアプリを動かしたい場合に必要DLLが足りなくて動かないというケースがたまにあります。 そういった場合、"Dependency Walker"という、アプリが起動(動作)するのに必要なDLLやEXEを解析するソフトがあるのですが、解析結果をテキスト・ファイルにコピペして保存したものを、上記方法で必要なDLLをピックアップして、Wineの該当アプリと同じ階層に突っ込むことで動いたりします。 まぁ、Windows環境を持っていないとできないですし、本来はバックアップをするための技術として覚えたのですが、応用技と言ったところでしょうか。 関連記事 WineBottlerでPortableAppsを使う際に必要なDLLの確認方法 UniteMovie for Mac OSX Lion (+Wine)