|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - чтение такстового файла и создание текстового с частичным содержанием прочтеного вайл |
|
CMD/BAT - чтение такстового файла и создание текстового с частичным содержанием прочтеного вайл
|
Пользователь Сообщения: 102 |
добрый день!
есть батник, который читает текстовый файл и вытаскивает из него имя архива, которое необходимо поместить в другой текстовый файл все работает хорошо, если бы не одно "но", в текстовом файле есть несколько arj архивов, а этот батник видит только один архив пример текста в файле: что необходимо дописать в батник, что бы он выдавал файл с таким содержанием: и ждал поступление всех архивов, только после этого начинал их распаковывать? собственно сам батник: @Echo Off rem Пути Set ReadPath=D:\test Set GetPath=D:\test\get Set ARJPath=D:\test\arj rem Таймаут проверки файлов, в секундах Set Timeout=10 Set /A Timeout+=1 If Not Exist "%ReadPath%" Echo Error - Directory not found&Exit /B 1 rem Подготавливаем структуру директорий If Not Exist "%GetPath%" MD "%GetPath%" :Loop Set ARJName=&Set NFOName= rem Поиск файла For /F "delims=" %%F In ('Dir "%ReadPath%\upd_nsi*.*" /B') Do ( Set NFOName=%%F rem Поиск в найденном строки с архивом For /F "delims=" %%S In ('Findstr /R /I /C:"\<*.arj\>" "%ReadPath%\%%F"') Do ( rem Разбор строки на составляющие, вычленение имени архива For %%A In (%%S) Do ( Echo %%A|Find /I "arj">nul&&Set ARJName=%%A ) ) ) If Defined ARJName ( Echo Found %NFOName%, processing... rem Создаем get-файл Echo get public %ARJName%>"%GetPath%\get.txt" rem Перемещаем обработанный файл, чтобы исключить повторное прочтение rem Если в системе установлен другой формат даты - исправить. For /F "tokens=1,2,3 delims=." %%A In ("%Date%") Do ( If Not Exist "%ReadPath%\%%C.%%B.%%A" MD "%ReadPath%\%%C.%%B.%%A" Move "%ReadPath%\%NFOName%" "%ReadPath%\%%C.%%B.%%A\%NFOName%" ) :WaitForARJ rem Распаковка архива, или ожидание, если он ещё не появился If Exist "%ARJPath%\%ARJName%" ( c:\arj32\ARJ32.EXE e D:\test\arj\*.arj D:\test\arj\ Echo Archive %ARJName% successfuly extracted ) Else ( Echo Waiting for ARJ in %ARJPath% Ping -n %Timeout% 127.0.0.1>nul GoTo WaitForARJ del D:\test\arj\*.arj ) ) rem Уход на новую итерацию после таймаута Cls&Echo Scanning %ReadPath%... Ping -n %Timeout% 127.0.0.1>nul GoTo Loop |
|
Отправлено: 07:54, 26-06-2012 |
Пользователь Сообщения: 102
|
Профиль | Отправить PM | Цитировать товарищи, скажите, это не возможно сделать по средствам бат или это сложно сделать или я просто не понятно описал проблемку?
|
Отправлено: 11:52, 28-06-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - распаковка архива, чтение текста,создание текстого файла | Anufriev | Скриптовые языки администрирования Windows | 1 | 16-06-2012 12:20 | |
CMD/BAT - [решено] Чтение содержимого текстового файла в переменную | kosmopes | Скриптовые языки администрирования Windows | 2 | 11-03-2011 12:58 | |
CMD/BAT - [решено] Создание текстового файла при условии его отсутствия в папке | spilberg | Скриптовые языки администрирования Windows | 1 | 12-07-2009 15:58 | |
[решено] Чтение текстового файла с неизвестным именем | ZeroCrash | AutoIt | 4 | 01-07-2009 19:03 | |
Shell. Чтение текстового файла по строкам. | Delphin911 | Общий по Linux | 11 | 07-04-2005 17:58 |
|