
我有一個從 SQL 資料庫的表中提取的文件列表。該文件可以是帶有分隔符號的文字文件,也可以是 Excel 電子表格,以效果最好的為準。
該文件看起來像這樣
sourcePath1\fileName1, destPath1\fileName1
sourcePath2\fileName2, destPath2\fileName2
sourcePath3\fileName3, destPath3\fileName3
ETC
第一列包含檔案的原始路徑和檔案名,第二列包含檔案的所需路徑和檔案名稱。這是在原始 SELECT 語句中使用標準 REPLACE() 函數獲得的。
現在我有了我實際上需要將來源檔案複製到目標的清單。
這可以使用命令列(批次或 Powershell?)或透過腳本或 GUI 來實現嗎?
答案1
以下是用於解析逗號分隔值 (csv) 文字檔案的本機 Windows 批次解決方案。
@echo off
for /f "tokens=1,2 delims=," %%A in (file.csv) do (
copy %%A %%B
)
答案2
根據大衛·魯曼的回答,以下內容有效。它使用xcopy
並將 傳遞F
給提示符,詢問該文件是文件還是資料夾。
@echo off
for /f "tokens=1,2 delims=," %%A in (book1.csv) do (
cmd /c echo F | xcopy "%%~A" "%%~B"
)
編輯:根據 @DavidRuhmann 建議添加波浪號 (~)。