我有一个制表符分隔文件,第一列包含文件的当前位置,第二列包含我希望将文件复制到的位置。
如何创建脚本来自动执行此操作,例如Powershell或Windows Batch?
非常感谢
布伦丹
答案 0 :(得分:3)
如果CSV中的列名为Path
和Destination
,则以下情况有效:
Import-Csv foo.csv -Delimiter "`t" | Copy-Item
如果您的列名称不同(File
和TargetPath
此处),则需要进行一些翻译:
Import-Csv foo.csv -Delimiter "`t" | ForEach-Object {
Copy-Item -Path $_.File -Destination $_.TargetPath
}
如果您根本没有列标题,则需要告诉Import-Csv
:
Import-Csv foo.csv -Delim "`t" -Headers Path,Destination | Copy-Item
批处理文件中的相同内容:
for /f "skip=1 tokens=1,2 delims= " %%A in (foo.csv) do (
rem ↖ that's a tab
copy "%%~A" "%%~B"
)