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

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

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

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


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

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


Хочу скопировать все "новые папки" с диска со всем содержимым, но при этом возникла проблема: если внутри "новой папки" есть ещё одна "новая папка" батник и её отдельно тоже скопирует, что не нужно, т.к. она уже будет скопирована как подкаталог. Помогите решить проблему. Код который я составил и нужно доработать:

For /f "delims=" %%H In ('dir /A:D /S /B "X:\*новая папка*"') Do (
xcopy /E /C /I /Q /H /Y /N /J "%%H" %cd%
)

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

 

Ветеран


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

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


«/d».

Отправлено: 18:25, 03-08-2014 | #2



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

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


Ветеран


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

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


Код: Выделить весь код
@echo off
echo новая папка.*\\>.tmp
for /f "delims=" %%H in ('"dir /ad/b/s "X:\*новая папка*" 2>nul| findstr /irvg:.tmp"') do (
 xcopy /c/e/h/i/j/n/q/y "%%H" "%cd%\%%~nxH">nul
 )
del .tmp
exit /b
Сохранить в кодировке DOS-866.
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:08, 03-08-2014 | #3


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


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

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


Georgio, Большое спасибо. Помогло
Можно объяснить как он проигнорировал повторяющиеся строки который появляются при поиске "dir"? И почему нужна именно такая запись в файле .tmp "новая папка.*\\"?
И ещё спасибо что подправили "%cd%\%%~nxH" эту запись, не знал что так можно. А в "nxH" x - является обязательным? или можно "nH" это же папка?

Последний раз редактировалось sjaybez, 03-08-2014 в 21:03. Причина: Ещё вопрос


Отправлено: 20:56, 03-08-2014 | #4


Ветеран


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

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


Цитата sjaybez:
как он проигнорировал повторяющиеся строки который появляются при поиске "dir"? »
Фильтрацией посредством «findstr.exe».

Цитата sjaybez:
И почему нужна именно такая запись в файле .tmp "новая папка.*\\"? »
Потому что таково регулярное выражение на исключение строк, содержащих папки, вложенные в «*новая папка*». Ключевым здесь является экранированный символ разделителя пути «\».

Цитата sjaybez:
А в "nxH" x - является обязательным? или можно "nH" это же папка? »
У папки тоже может быть расширение. Как пример — «WINDOWS.OLD».
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:20, 03-08-2014 | #5


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


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

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


Iska, Спасибо за разъяснение. Я понял - /irvg -это перечень параметров findstr, которые позволили профильтровать пути, вместе с сочетанием "новая папка.*\\"

Отправлено: 21:23, 03-08-2014 | #6


Ветеран


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

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


Именно.
Цитата sjaybez:
вместе с сочетанием »
С регулярным выражением.

Отправлено: 22:19, 03-08-2014 | #7



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2008 R2 - Копирование папок с помощью Robocopy PsyDuck Windows Server 2008/2008 R2 3 08-10-2014 17:35
CMD/BAT - Копирование тучи папок в 3-4 клика. i-Lex Скриптовые языки администрирования Windows 6 22-01-2013 06:30
CMD/BAT - [решено] .bat Копирование с условием TwoThrones Скриптовые языки администрирования Windows 1 09-01-2011 14:51
Разное - копирование папок gipper2006 Microsoft Windows 2000/XP 6 04-05-2008 12:28
Копирование папок Vasosel Microsoft Windows NT/2000/2003 9 23-08-2006 10:30




 
Переход