2016-04-06 35 views
0

Bu dosyayı kullanmak için answer numaralı dosyayı kullanıyorum. Oldukça geçerli dosya adı olan ve NewName dosya yolu da dahil olmak üzere yeni ad olan bir .csv listesi kullanarak yeni bir konuma kopyalamaya çalışıyorum. Komut dosyasını yeni yola göre yeni bir klasör oluşturmak için zorlamanın en iyi yolu nedir? Örneğinpowershell Dosyaları yeni dizinlere kopyalama - en iyi yol

:

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

Bu benim senaryom

$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 
} 

olduğunu Ama bu kopyalanan önce aynı klasörde kalmak herhangi bir dosya üzerine yazar.

cevap

1

sen dizini oluşturmak nerede satırı değiştirin: Bununla

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 
}