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

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

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

Аватара для V!RTuE

Пользователь


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

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


Вот есть такой код:

SET f=%~dp0

::Сканирование ветки реестра КонсультантПлюс. В ней указывается рабочая директория, в которой также могут находится CONS_ERR.TXT. Копирование только нового в \ARCHIVE\
for /f "usebackq tokens=3" %%i in (
`reg.exe query "HKEY_CURRENT_USER\Software\ConsultantPlus" /s 2^>nul ^| findstr.exe /r /c:"WrkDir.*REG_SZ"`
) do if exist "%%~i\." for /f "delims=" %%j in ('dir /a-d/b/s "%%~i\CONS_ERR.TXT" 2^>nul') do copy "%%j" "%f%ARCHIVE">nul

::Сканирование директории, где расположен батник и всех подпапок на наличие CONS_ERR.TXT и копирование в \ARCHIVE
for /r "%f%" %%f in ("CONS_ERR.TXT") do xcopy "%%f" "%f%ARCHIVE\" /y

Помогите переделать код так, чтобы из всех найденных файлов копировался в папку \ARCHIVE только самый новый файл CONS_ERR.TXT. Т.е. нужно просканировать все папки с подпапками, которые указаны в реестре, и папки с подпапками, где расположен сам батник.

Отправлено: 13:53, 29-01-2015

 

Аватара для V!RTuE

Пользователь


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

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


Всё-таки мануалы лучше самому читать и более внимательно. Всё оказалось очень просто. Надо было добавить параметр /D к команде xcopy. и в первом случае copy заменить на xcopy (и тоже добавить параметр /y)

Код: Выделить весь код
SET f=%~dp0

::Сканирование ветки реестра КонсультантПлюс. В ней указывается рабочая директория, в которой также могут находится CONS_ERR.TXT. Копирование только нового в \ARCHIVE\
for /f "usebackq tokens=3" %%i in (
`reg.exe query "HKEY_CURRENT_USER\Software\ConsultantPlus" /s 2^>nul ^| findstr.exe /r /c:"WrkDir.*REG_SZ"`
) do if exist "%%~i\." for /f "delims=" %%j in ('dir /a-d/b/s "%%~i\CONS_ERR.TXT" 2^>nul') do xcopy /D /y "%%j" "%f%ARCHIVE">nul

::Сканирование директории, где расположен батник и всех подпапок на наличие CONS_ERR.TXT и копирование в \ARCHIVE
for /r "%f%" %%f in ("CONS_ERR.TXT") do xcopy /D "%%f" "%f%ARCHIVE\" /y

Последний раз редактировалось V!RTuE, 05-02-2015 в 21:11.


Отправлено: 16:25, 05-02-2015 | #2



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

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



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - [решено] Получить имя самого нового файла alexbunt Скриптовые языки администрирования Windows 2 21-11-2013 15:54
VBS/WSH/JS - Копирование самого последнего файла по дате djviper Скриптовые языки администрирования Windows 1 31-05-2012 09:58
CMD/BAT - Поиск и копирование нескольких строк из текстового файла. valen Скриптовые языки администрирования Windows 0 07-11-2011 17:27
VBS/WSH/JS - [решено] Поиск и копирование текста из файла KaKTuZ49 Скриптовые языки администрирования Windows 2 03-11-2011 13:38
CMD/BAT - [решено] Поиск нового файла за день, его шифрование, и отправка по почте. dark-------13 Скриптовые языки администрирования Windows 1 23-04-2011 21:13




 
Переход