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

时间:2016-04-06 02:48:39

标签: powershell copy-paste file-rename

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

例如:

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
}

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

1 个答案:

答案 0 :(得分:1)

替换创建目录的行:

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
}