0

タブ区切りのファイルがあり、最初の列にはファイルの現在の場所が含まれ、2番目の列にはファイルのコピー先が含まれています。

これを自動的に行うスクリプト(PowershellやWindows Batchなど)を作成するにはどうすればよいですか?

どうもありがとう

ブレンダン

4

1 に答える 1

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"
)
于 2012-07-12T13:49:59.230 に答える