我有从 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
根据 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 的建议添加波浪号 (~)。