Vorrei poter scrivere uno script PowerShell che prendesse una cartella (o una serie di cartelle) e duplicarli in cui la struttura della cartella (senza il file) possono essere creati, dove è possibile creare la struttura dei file (senza le cartelle) o in cui è possibile creare sia i file (tutti o selezionati) E cartelle.Copia le cartelle senza file, file senza cartelle o tutto ciò che utilizza PowerShell
Example:
C:\ProdData has 3 subfolders in it
C:\ProdData\Fld1
C:\ProdData\Fld2
C:\ProdData\Fld3 - has 2 subfolders under it
C:\ProdData\Fld3\MyFolder1
C:\ProdData\Fld3\MyFolder2
Ogni cartella in alto ha un diverso numero di file di varie dimensioni, di varie estensioni di file.
mi piacerebbe avere uno script PowerShell che avrebbe duplicato che struttura delle cartelle altrove, dandomi una scelta di Struttura delle cartelle Solo, file Solo, o file e cartelle da copiare.
In quanto sopra, mi piacerebbe essere in grado di copiare C: \ ProdData in un'altra cartella, in sostanza, la ridenominazione ProdData a TestData (cioè, C: \ ProdData copiati C: \ TestData), o per copiare l'intera struttura della cartella.
C:\ProdData
in un'altra cartella che è una sottocartella di qualcos'altro: C:\TestArea\TestFolders\2012-04-01\TestData\ProdData\Fld1
, ecc ...
e selettivamente scegliere di includere le cartelle, file o entrambi .
La soluzione ideale sarebbe (solo per le cartelle) prendere la struttura della cartella, esportarla/salvarla, leggerla e creare la stessa struttura altrove. Alcune soluzioni che ho trovato hanno detto che copiavano solo la struttura delle cartelle, ma se i dati esistono, anche quelli vengono copiati e non è possibile escluderne uno o l'altro. Ho una soluzione parziale al requisito solo file che semi-conserva il percorso, ma ci vorrebbe un file:
c:\ProdData\Fld1\MyFile.dat
e copiarlo:
c:\TestData\yyyyMMdd_hhmmss_ProdData_Fld1_MyFile.dat
Ma non è qualcosa che potrebbe facilmente decodificati e sarebbe impossibile reintegrare la struttura sorgente. Gradirei qualsiasi idea su come realizzare questo senza reinventare la ruota.
Grazie per il suggerimento. Non avevo nemmeno installato Robocopy, e si adatta abbastanza bene alle esigenze. Quello che ho dovuto fare per la struttura di un file è stato il pipe di Show-Tree in un file di testo. Questo ha compiuto un altro pezzo di ciò che stavo cercando. Nessuna cosa farebbe tutto, ma 3 pezzi relativamente semplici insieme hanno raggiunto ciò di cui avevo bisogno. Grazie per il vostro aiuto! –
Per lo spianamento, è possibile saltare la sezione centrale e utilizzare semplicemente l'opzione -File su Get-ChildItem come (e Copia-Elemento invece di robocopy): Get-ChildItem $ origine -Recurse -File | Foreach-Object {Copy-Item $ _. FullName $ dest}. Non un'enorme differenza però. – Brandon
@Brandon Buon punto. Finché sei su Powershell 3 puoi certamente farlo (i parametri '-File' e' -Directory' non esistevano fino alla v3). – ajk