2016-04-06 42 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 
} 
相關問題