ho avuto i file in una singola cartella in Windows 7 che ho voluto rinominare e copiare cartelle inesistenti.
ho usato il seguente script PowerShell, che definisce una funzione Copy-New-Item
come un wrapper per il Test-Item
, New-Item
, e Copy-Item
cmdlet:
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...
(Si noti che, in questo caso, i nomi dei file di origine non hanno estensione del file.)
Se il percorso del file di destinazione non esiste, la funzione crea un file vuoto in quel percorso, costringendo la creazione di tutte le directory inesistenti nel percorso del file. (Se Copy-Item
può fare tutto da solo, non ho potuto vedere come farlo dal documentation.)
fonte
2016-03-01 06:47:10
Grazie mille! –
Grazie Shay. Il metodo touch è davvero a portata di mano, non è necessario ricorrere in modo ricorsivo alle cartelle. – heedfull
Interessante, il "tocco" crea la directory e il file, e il file è un file a una riga .. se apri il file nel blocco note (indipendentemente dall'estensione) ... il file ha il ~ nome completo nome originale ... come riga1 del file (testo?). Quindi la copia è molto felice che tutte le cartelle esistano correttamente. GRAZIE! Ho ampliato la tua risposta per essere una risposta alla mia domanda qui: http: // StackOverflow.it/questions/42818014/powershell-copy-files-with-a-blacklist-exclude-and-a-whitelist-include/42819089 # 42819089 – granadaCoder