Копирование папок без файлов, файлов без папок или всего с помощью PowerShell

Я хотел бы иметь возможность написать скрипт 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

Каждая папка выше содержит различное количество файлов разного размера и с разными расширениями.

Я хотел бы иметь сценарий PowerShell, который дублировал бы эту структуру папок в другом месте, предоставляя мне выбор Только структура папок, Только файлыили Файлы и папки для копирования.

В приведенном выше примере я хотел бы иметь возможность скопировать C:\ProdData в другую папку, фактически переименовав ProdData в TestData (то есть C:\ProdDataскопировано в C: \TestData) или скопировать всю структуру папок.

C:\ProdDataв другую папку, которая является подпапкой чего-то другого:C:\TestArea\TestFolders\2012-04-01\TestData\ProdData\Fld1и т.д...

И выборочно включить папки, файлы или и то, и другое.

Идеальным решением было бы (только для папок) взять структуру папок, экспортировать/сохранить ее, прочитать и создать такую ​​же структуру в другом месте.В некоторых решениях, которые я нашел, говорилось, что они копируют только структуру папок, но если данные существуют, они также копируются, и вы не можете исключить одно или другое. У меня есть частичное решение требования только к файлам, которое частично сохраняет путь, но оно берет файл:

c:\ProdData\Fld1\MyFile.dat

и копирует его в:

c:\TestData\yyyyMMdd_hhmmss_ProdData_Fld1_MyFile.dat

Но это не то, что можно легко декодировать и было бы невозможно повторно интегрировать исходную структуру. Я был бы признателен за любые мысли о том, как это сделать, не изобретая велосипед.

20
задан Peter Mortensen 29 October 2015 в 13:38
поделиться