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

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

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

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


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

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


Задача такая: Извлечь из текстового файла названия архивов, которые там записаны в столбик, а потом последовательно их распаковать.
Архивов намного больше, но извлекать надо именно те, названия которых есть в файле.

Есть примерно такой вот скрипт:

Код: Выделить весь код
<allfiles.txt (for /f "tokens=1* delims=[]" %%a in ('find /n /v ""') do set "s%%a=%%b")
call :un %s1%
call :un %s2%
call :un %s3%
call :un %s4%
call :un %s5%
call :un %s6%
call :un %s7%
call :un %s8%
call :un %s9%

pause
exit

:un
"7z.exe" x -aoa -tzip %~dp0resources\%1.zip -o%~dp0resources\%1
exit /b
Количество строк извлекаемых в переменные из файла allfiles.txt может быть разное. Когда 5, а когда и 150. Если изначально скрипт сделать с наибольшим количеством %sXX%, то выглядит такая портянка из 150 строчек некрасиво и в логе появляются записи об ошибках.
Чтобы избежать таких ошибок можно конечно перед вызовом call сделать проверку на то, пустая переменная или нет и в зависимости от этого продолжать работу или завершить, но от портянки вызовов это не избавляет.
Может есть у кого более изящное решение?

Отправлено: 10:54, 14-12-2017

 

Ветеран


Contributor


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

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


Цитата alexxx2011:
Извлечь из текстового файла названия архивов, которые там записаны в столбик »
И где образец этого файла, упакованного в архив?

Цитата alexxx2011:
Есть примерно такой вот скрипт: »
Что это? Откуда это? Зачем это?! Вот всё:
Код: Выделить весь код
for /f "usebackq delims=" %%i in ("List.txt") do "7z.exe" … "%%~i"
что примерно нужно, если, как Вы пишете, «названия … записаны в столбик».
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:47, 14-12-2017 | #2



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

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


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


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

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


Цитата Iska:
что примерно нужно, если, как Вы пишете, «названия … записаны в столбик». »
А что, изящное решение. Очень даже подошло. Большое спасибо!

Отправлено: 15:54, 14-12-2017 | #3



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Любой язык - Обработка текстового файла XXXp Скриптовые языки администрирования Windows 8 19-01-2015 17:40
CMD/BAT - Сборка текстового файла из содержимого другого текстового файла icomboy Скриптовые языки администрирования Windows 0 10-09-2013 15:17
CMD/BAT - обработка текстового\xml файла firstarey Скриптовые языки администрирования Windows 1 14-05-2012 07:03
MSFT SQL Server - результаты запроса в виде текстового файла и его обработка minusodin Программирование и базы данных 7 30-03-2010 15:48
Получение и обработка информации из текстового файла ya158 AutoIt 3 11-09-2009 01:24




 
Переход