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

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

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

Новый участник


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

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


Изменения
Автор: yanus74
Дата: 16-08-2014
Здравствуйте!
накалякал вот такую конструкцию
Код: Выделить весь код
for /F "tokens=*" %a in ('dir F:\prise /s /A:d /b') do dir "%a\desktop.ini" /A:s /B | find "desktop.ini"==nul && copy /y f:\desktop.ini "%a"| attrib +h +s "%a\desktop.ini"
1. тут вроде все понято, в переменную записываю путь директории dir F:\prise /s /A:d /b
Код: Выделить весь код
for /F "tokens=*" %a in ('dir F:\prise /s /A:d /b') do
2. в этой конструкции я проверяю, есть ли уже такой файл.
По логике find "desktop.ini" должен искать в выводе dir "%a\desktop.ini" /A:s /B строку desktop.ini, и если нету ==nul, то...
Код: Выделить весь код
do dir "%a\desktop.ini" /A:s /B | find "desktop.ini"==nul
3. копировать в директорию файл, и делать его системным и скрытым
Код: Выделить весь код
copy /y f:\desktop.ini "%a"| attrib +h +s "%a\desktop.ini"
Но не работает, не могу понять, где я допустил ошибку. Помогите пожалуйста.


p.s.
если кому интересно, в файле desktop.ini
Код: Выделить весь код
[.ShellClassInfo]
DefaultDropEffect=4
не дает перетаскивать папки курсором, просто делает ярлычек - полезно в сетевых шарах, от случайных перетаскиваний

Отправлено: 21:44, 16-08-2014

 

Ветеран


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

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


Поскольку файл "desktop.ini" является системным и скрытым, его нельзя заменить на другой копированием с помощью команды "copy" (будет отказано в доступе), и, следовательно, проверка его наличия в папках излишня:

Код: Выделить весь код
for /f "tokens=*" %a in ('dir "F:\prise" /ad/b/s') do @copy "F:\desktop.ini" "%a">nul 2>&1&& attrib +h +s "%a\desktop.ini"
.
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:02, 16-08-2014 | #2



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

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


Новый участник


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

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


Да, наверно вы правы. Спасибо!

Отправлено: 09:40, 17-08-2014 | #3



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Копирование с проверкой safonov_ivan Скриптовые языки администрирования Windows 4 19-07-2013 11:44
CMD/BAT - чтобы батник автоматически удалял бы все подкаталоги, размер которых makc2364 Скриптовые языки администрирования Windows 1 19-12-2011 12:09
C/C++ - как пройти всю файловую систему в цикле и как проверить если у каталога подкаталоги? Gablik Программирование и базы данных 2 14-10-2011 18:59
CMD/BAT - [решено] Создать подкаталоги, и скопировать файлы из корневого каталога по подкаталогам. grinsen Скриптовые языки администрирования Windows 2 18-11-2010 13:48
Установка - [решено] Копирование файла на все компьютеры в домене S.M.A.X. Microsoft Windows 2000/XP 5 30-03-2009 08:48




 
Переход