Имя пользователя:
Пароль:
 

Показать сообщение отдельно

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


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

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


Код: Выделить весь код
chcp 65001
 
rem копируем с диска на диск по маске, вывод сохраняем в файл D:\archive\1.txt
 
robocopy H:\ I:\*.* /maxage:2 /minage:1 > D:\archive\1.txt
 
rem как правило, если копирование завершилось удачно, то в выводимом файле в конце будет строка - Ended : 22 апреля 2021 г. 14:05:46 (будет текущая дата)[/color]
 
rem ищу в файле строку, в которой есть слово Ended. В файле такая строка только одна. Сохраняю значение (то есть всю эту строку в переменную, чтобы потом из нее выделить только слово Ended, чтобы можно было проще сравнивать строчные значения
 
set stroka=findstr "Ended" D:\archive\1.txt

rem вычленяю из строки слово Ended

set stroka2=for /f "tokens=1" %%i in ('%stroka%') do @echo %%i 

rem сравниваю строчные значения, чтобы создать файл при успешном сравнении и перейти к следующей операции, т.к. копирование может длиться до 6 часов, то строка Ended появится спустя 6 часов, а до этого времени нужно повторять цикл поиска и потом, спустя 6 часов создать файл.
 
if "%stroka2%=="Ended" go to :del else goto :povtor
 
 
:del
del D:\archive\1.txt, D:\archive\Ended.txt
exit
 
:рovtor
if "%stroka2%=="Ended" go to :del else goto :povtor
 
pause
хотел вот такой скрипт реализовать, на застрял на
Цитата epoddubniy:
set stroka2=for /f "tokens=1" %%i in ('%stroka%') do @echo %%i > D:\archive\%%i.txt »
никак не могу получить Ended.txt

Последний раз редактировалось epoddubniy, 28-04-2021 в 16:19.


Отправлено: 16:12, 28-04-2021 | #4