
SQL データベースのテーブルから抽出されたファイルのリストがあります。ファイルは、区切りテキスト ファイルまたは Excel スプレッドシートのいずれか、どちらでもかまいません。
ファイルは次のようになります
sourcePath1\fileName1, destPath1\fileName1
sourcePath2\fileName2, destPath2\fileName2
sourcePath3\fileName3, destPath3\fileName3
等
1 列目にはファイルの元のパスとファイル名が含まれ、2 列目にはファイルの目的のパスとファイル名が含まれます。これは、元の SELECT ステートメントで標準の REPLACE() 関数を使用して取得されています。
これで、ソース ファイルを宛先にコピーするために実際に必要なリストができました。
これは、コマンド ライン (バッチまたは Powershell?)、スクリプト、または GUI を使用して実現できますか?
答え1
これは、カンマ区切り値 (csv) テキスト ファイルを解析するためのネイティブ Windows バッチ ソリューションです。
@echo off
for /f "tokens=1,2 delims=," %%A in (file.csv) do (
copy %%A %%B
)
答え2
David Ruhmann の回答に基づくと、次の方法が機能します。 を使用しxcopy
、F
ファイルがファイルかフォルダーかを尋ねるプロンプトに渡します。
@echo off
for /f "tokens=1,2 delims=," %%A in (book1.csv) do (
cmd /c echo F | xcopy "%%~A" "%%~B"
)
編集: @DavidRuhmann の提案に従ってチルダ (~) を追加しました。