Создание структуры каталогов в приемном каталоге

При необходимости вы можете не просто "складировать" файлы из исходного каталога в приемный, но и создавать в нем структуру каталогов с указанным уровнем вложенности. Для этого используются опции командной строки -p, -p1...4 и -pn <num>.

Представим себе, что мы копируем файлы из каталога c:\very\important\data в каталог d:\backup:

nnbackup.exe copy -i c:\very\important\data -o d:\backup -s -v

Если указать в командной строке опцию -p, то в приемном каталоге будет создана структура каталогов, соответствующая полному пути исходного каталога, т. е. в нашем случае файлы будут копироваться в каталог d:\backup\very\important\data:

nnbackup.exe copy -i c:\very\important\data -o d:\backup -p -s -v

Уровень вложенности создаваемой структуры каталогов можно контролировать с помощью опций -p1...4 и -pn <num>. Соответственно, цифра 1 означает имя исходного каталога (в нашем случае, это data), цифра 2 - имя исходного каталога и имя предшествующего каталога (important\data), цифра 3 означает имена трех кталогов (very\important\data) и т. д.:

nnbackup.exe copy -i c:\very\important\data -o d:\backup -p1 -s -v
nnbackup.exe copy -i c:\very\important\data -o d:\backup -pn 1 -s -v

Расшифровка: копировать все файлы из каталога c:\very\important\data и всех его подкаталогов в каталог d:\backup\data

nnbackup.exe copy -i c:\very\important\data -o d:\backup -p2 -s -v
nnbackup.exe copy -i c:\very\important\data -o d:\backup -pn 2 -s -v

Расшифровка: копировать все файлы из каталога c:\very\important\data и всех его подкаталогов в каталог d:\backup\important\data

nnbackup.exe copy -i c:\very\important\data -o d:\backup -p -s -v
nnbackup.exe copy -i c:\very\important\data -o d:\backup -p3 -s -v
nnbackup.exe copy -i c:\very\important\data -o d:\backup -pn 3 -s -v

Расшифровка: копировать все файлы из каталога c:\very\important\data и всех его подкаталогов в каталог d:\backup\very\important\data

Как вы поняли, опция -p1...4 - это всего лишь "сокращенный вариант" опции -pn 1...4. Она создана для удобства пользователей и функционально ничем от нее не отличается.

Еще один способ создания нужных подкаталогов в приемном каталоге - это использование предопределенных переменных nnBackup %IPATH% и %INAME%. Переменная %IPATH% содержит полный путь к исходному каталогу (без имени диска и символов :\), а переменная %INAME% - только имя исходного каталога:

nnbackup.exe copy -i c:\very\important\data -o d:\backup\%IPATH% -s -v

Расшифровка: копировать все файлы из каталога c:\very\important\data и всех его подкаталогов в каталог d:\backup\very\important\data

nnbackup.exe copy -i c:\very\important\data -o d:\backup\%INAME% -s -v

Расшифровка: копировать все файлы из каталога c:\very\important\data и всех его подкаталогов в каталог d:\backup\data


Примеры:

nnbackup.exe copy -i c:\data -i c:\another_data -o d:\backup -p -s -v

Расшифровка: копировать все файлы из каталогов c:\data, c:\another_data и всех их подкаталогов в каталоги d:\backup\data и d:\backup\another_data

nnbackup.exe copy -i c:\data\opera -o d:\backup -pn 1 -s -v

Расшифровка: копировать все файлы из каталога c:\data\opera и всех его подкаталогов в каталог d:\backup\opera