Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Сохранение структуры папок и ее воссоздание с помощью командного файла

Ответить
Настройки темы
CMD/BAT - [решено] Сохранение структуры папок и ее воссоздание с помощью командного файла

(*.*)


Сообщения: 36527
Благодарности: 6686


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


Всем привет!

Имеется структура папок, начиная от корневой C:\Folder, в которую вложены другие, также имеющие вложенные папки. Глубина вложенности различается от папки к папке, и достигает навскидку 10 уровней. Необходимо воссоздать такую же структуру на другой машине. В папках имеются файлы, но их нужно проигнорировать - требуется только структура папок.

Фильтром по папк подобной темы не нашел. Буду признателен за любую помощь в этом вопросе
Спасибо!

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 13:09, 20-07-2009

 


Moderator


Сообщения: 53417
Благодарности: 15491

Профиль | Отправить PM | Цитировать


Допустим, SaveFolderStruct.cmd с содержимым:
Код: Выделить весь код
@Echo Off
Set Fld=C:\Folder
Dir /AD /B /S %Fld% >FolderStruct.txt
сохраняет список папок в FolderStruct.txt

RestoreFolderStruct.cmd (восстанавливает из FolderStruct.txt):
Код: Выделить весь код
@Echo Off
SetLocal EnableExtensions
For /F "Delims=" %%I In (FolderStruct.txt) Do MD "%%~I"
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:30, 20-07-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


(*.*)


Сообщения: 36527
Благодарности: 6686

Профиль | Сайт | Отправить PM | Цитировать


Petya V4sechkin, спасибо, все работает! Но задача чуть усложнилась Есть ряд папок, которые являются скрытыми/только для чтения. Как их исключить?

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 14:36, 20-07-2009 | #3



Moderator


Сообщения: 53417
Благодарности: 15491

Профиль | Отправить PM | Цитировать


Цитата Vadikan:
Есть ряд папок, которые являются скрытыми/только для чтения.
Для исключения скрытых, системных и только для чтения: опция /AD-H-S-R в команде Dir.

Отправлено: 14:41, 20-07-2009 | #4



Moderator


Сообщения: 53417
Благодарности: 15491

Профиль | Отправить PM | Цитировать


Цитата Petya V4sechkin:
опция /AD-H-S-R в команде Dir.
Хм... для вложенных папок опция работает не так, как хотелось бы.
Действительно, усложняется. SaveFolderStruct.cmd примерно такой:
Код: Выделить весь код
@Echo Off
SetLocal EnableExtensions

Set Fld=C:\Folder
Call :ListFolders %Fld% >FolderStruct.txt
Exit /B

:ListFolders
  For /F "Delims=" %%I In ('Dir /AD-H-S-R /B "%~1"') Do (
    Echo %~1\%%~I
    Call :ListFolders "%~1\%%~I"
  )
GoTo :Eof

Отправлено: 15:03, 20-07-2009 | #5


(*.*)


Сообщения: 36527
Благодарности: 6686

Профиль | Сайт | Отправить PM | Цитировать


Цитата Petya V4sechkin:
/AD-H-S-R »
Это я, конечно, попробовал сразу - базовый хелп к dir я прочел... Просто не написал об этом в лучших традициях форума

Спасибо, Женя, все работает!

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 15:57, 20-07-2009 | #6


Старожил


Сообщения: 426
Благодарности: 108

Профиль | Отправить PM | Цитировать


Если я правильно понял, то структура папок переносится с одной машины на другую посредсвом чего-то...
например флешка или временно на диск и архив пустых каталогов по почте... вобщем сначала на локальном или сетевом диске создаем копию структуры каталогов... для копий у нас есть хорошая команда xcopy....

без скрытых/системных каталогов: xcopy /t /e c:\Folder d:\Prep2Export\
со скрытыми каталогами: xcopy /t /e /h c:\Folder d:\Prep2Export\

-------
Как сказало Дерево Дровосеку: "я - пень".


Отправлено: 19:39, 20-07-2009 | #7


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


NiOl, для поставленной задачи вариант через DIR оптимален, т.к. сохранение атрибутов/прав на подкаталоги не требуется, у XCOPY свои недостатки:
- каталог назначения не может быть подкаталогом источника (например, для сохранения структуры C:\)
- плохая транпортабельность, одним файлом проще, особенно, для большого кол-ва подкаталогов.

З.Ы. общее решение задачи реализуется в одну строчку архиватором RAR

Отправлено: 03:14, 21-07-2009 | #8


(*.*)


Сообщения: 36527
Благодарности: 6686

Профиль | Сайт | Отправить PM | Цитировать


NiOl, amel27, спасибо за комментарии. Честно говоря, меня вполне устроило решение выше. Насчет RAR я даже не подумал, но он и не установлен был, да и не пользуюсь я им.

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 01:56, 22-07-2009 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Сохранение структуры папок и ее воссоздание с помощью командного файла

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Как удалять файлы по размеру из командного файла? njg Скриптовые языки администрирования Windows 8 28-08-2017 17:33
CMD/BAT - [решено] подсчет времени выполнения командного файла mitiya Скриптовые языки администрирования Windows 5 15-04-2014 10:42
[статья] Создание структуры папок Vadikan Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista 15 18-04-2013 17:03
Dial-Up - Можно ли создать dial-up соединение с помощью командного файла? Oleg48 Сетевые технологии 5 18-10-2009 11:52
Автоматическая установка драйверов с помощью командного файла Miha876 Автоматическая установка Windows 2000/XP/2003 2 21-12-2007 03:17




 
Переход