2016-04-06 41 views
0

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

例如:

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

,你创建的目录将行:

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 
} 
相关问题