Windows 7'de tek bir klasörde dosyaları yeniden adlandırmak ve varolmayan klasörlere kopyalamak istedim.
aşağıdaki PowerShell
Test-Item
,
New-Item
için bir sargı olarak bir
Copy-New-Item
işlevi tanımlar komut, ve
Copy-Item
davranırlar kullanılır:
function Copy-New-Item {
$SourceFilePath = $args[0]
$DestinationFilePath = $args[1]
If (-not (Test-Path $DestinationFilePath)) {
New-Item -ItemType File -Path $DestinationFilePath -Force
}
Copy-Item -Path $SourceFilePath -Destination $DestinationFilePath
}
Copy-New-Item schema_mml3_mathml3_rnc schema\mml3\mathml3.rnc
# More of the same...
Copy-New-Item schema_svg11_svg_animation_rnc schema\svg11\svg-animation.rnc
# More of the same...
Copy-New-Item schema_html5_assertions_sch schema\html5\assertions.sch
# More of the same...
(bu durumda, bu Not kaynak dosya isimleri hiçbir bilgisi dosya uzantısı.)
Hedef dosya yolu yoksa, bu dosya, dosya yolunda varolmayan dizinlerin oluşturulmasını zorlayarak boş bir dosya oluşturur. (Copy-Item
tüm bunları tek başına yapabilirse, documentation'dan nasıl yapılacağını göremedim.)
Çok teşekkür ederim! –
Teşekkürler Shay. Dokunma yöntemi, klasörler arasında yinelemeli bir şekilde gitmeye gerek yok. – heedfull
İlginç, "dokunma", dizin ve dosyayı oluşturur ve dosya bir satır dosyasıdır. Eğer dosyayı not defterinde açarsanız (uzantı ne olursa olsun) ... dosya ~ orijinal adı tam adı var ... (metin?) dosyasının 1. satırı olarak. Daha sonra kopya kalemi tüm klasörlerin doğru şekilde var olduğundan çok mutlu. TEŞEKKÜRLER! Cevabınızı, buradaki sorumun cevabı olarak genişletdim: http: // stackoverflow.com/questions/42818014/powershell-copy-files-with-a-blacklist-exclude-ve-a-whitelist-include/42819089 # 42819089 – granadaCoder