powershell 将文件复制到新目录中 - 最好的方法

powershell Copying files into new directories - best way

我正在使用此 尝试使用 .csv 列表将文件复制到新位置,其中 OldName 是当前文件名,NewName 是包含文件路径的新名称。 强制脚本根据新路径生成新文件夹的最佳方法是什么?

例如:

OldName    NewName
A.pdf      C:\NewFolder\Anew.pdf

这是我的脚本

$Copies = Import-Csv '.\copies.csv' -Header "OldName","NewName"

foreach($File in $Copies) {
    New-Item -Force $File.NewName -Type File
    Copy-Item $File.OldName $File.NewName
}

但这会覆盖在复制之前保留在同一文件夹中的所有文件。

替换您创建目录的行:

New-Item -Force $File.NewName -Type File

有了这个:

$NewDir = ($File.NewName -as [System.IO.FileInfo]).DirectoryName
If (-not (Test-Path -Path $NewDir)) {
   New-Item -ItemType Directory -Path $NewDir -Force | Out-Null
}