Copier les dossiers sans les fichiers, les fichiers sans dossiers, ou tout à l'aide de PowerShell

J'aimerais être capable d'écrire un script PowerShell qui prendrait un dossier (ou un ensemble de dossiers) et de les dupliquer dans lequel la structure de dossier (sans les fichiers) pourrait être créé, où la structure du fichier (sans les dossiers) pourrait être créé, ou dans lequel les deux fichiers (tous ou ceux sélectionnés) ET dossiers pourraient être créés.

    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

Chaque dossier ci-dessus a un divers nombre de fichiers de différentes tailles, de différentes extensions de fichier.

J'aimerais avoir un script PowerShell qui ferait double emploi structure de dossier ailleurs, en me donnant un choix de Structure de Dossier Seulement, Uniquement les Fichiers de, ou des Fichiers ET des Dossiers à être copié.

Ci-dessus, j'aimerais être en mesure de copier C:\ProdData dans un autre dossier, essentiellement renommer ProdData à TestData (qui est, C:\ProdData copié à C:\TestData), ou de copier le dossier complet de la structure.

C:\ProdData dans un autre dossier, qui est un sous-dossier de quelque chose d'autre: C:\TestArea\TestFolders\2012-04-01\TestData\ProdData\Fld1, etc...

Et de choisir de façon sélective afin d'inclure des dossiers, des fichiers ou les deux.

La solution idéale serait d' (pour les dossiers prenez la structure du dossier, l'exportation et de l'enregistrer, de lire et de créer la même structure ailleurs. Quelques solutions que j'ai trouvé dit ils ont copié le dossier seulement la structure, mais s'il existe des données, qui est copié aussi et que vous ne pouvez pas exclure l'un ou l'autre. J'ai une solution partielle pour les fichiers seule exigence que les semi-conserves le chemin, mais il faudrait un fichier:

c:\ProdData\Fld1\MyFile.dat

et copie à:

c:\TestData\yyyyMMdd_hhmmss_ProdData_Fld1_MyFile.dat

Mais ce n'est pas quelque chose qui pourrait facilement être décodé et serait impossible à ré-intégrer la structure source. J'apprécierais des idées sur la façon de le faire sans avoir à ré-inventer la roue.

OriginalL'auteur steve_o | 2012-04-03