|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Чтение определённых строк из файла |
|
CMD/BAT - [решено] Чтение определённых строк из файла
|
Пользователь Сообщения: 88 |
Профиль | Отправить PM | Цитировать
Уважаемые знатоки!
Помогите решить задачу: Есть файл config.js имеющий определенную структуру pn=1; prog[pn]=['Visual C++ 05-08-10-12 x86/x64']; uid[pn]=['MSVISUALC']; dflt[pn]=['yes']; forc[pn]=['no']; bit64[pn]=['no']; cat[pn]=['Системные']; pfro[pn]=['no']; cmds[pn]=['"%wpipath%\\Install\\SYSTEM\\VisualC_Hyb.exe"']; desc[pn]=['Пакет Microsoft Visual C++ Redistributable Package устанавливает компоненты среды выполнения библиотек Visual C++, необходимых для запуска приложений, разработанных с помощью Visual C++, на компьютере без установленной среды Visual C++. В данной сборке (Hybrid), самые последние, официальные 32-х битные и 64-х битные версии Microsoft Visual C++ 2005-2008-2010-2012 Redistributable Package. (Установка Visual C++ 2012 будет происходить, только на операционных системах начиная с Windows Vista SP 2 и выше)']; picf[pn]=['"%wpipath%\\Graphics\\Logos\\MSVC2010.png"']; picw[pn]=['192']; pich[pn]=['100']; textl[pn]=['Bottom']; pn++; Пробовал так: @echo off FindStr /BRC:"prog[pn]=" config.js >2.txt не получается -файл пустой сохранял config в txt - тоже не получается Config пример в архиве Спасибо! |
|
Отправлено: 14:41, 23-03-2013 |
Пользователь Сообщения: 88
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
Не повторяется в одной строке. В файле переноса на другие строки нет - видимо на одной строке,а заканчивается ";" сохранение в txt не помогло... |
|
Отправлено: 16:17, 24-03-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать @Echo Off Set From=D:\Delete\config.js Set To=D:\Delete\config.prog Set Key1=prog[pn] ChCp 1251 >nul SetLocal EnableExtensions EnableDelayedExpansion If Exist "%To%" Del "%To%">nul FOR /F "usebackq delims=" %%s IN (`Type "%From%"`) DO ( Set ss=%%s Set ss=!ss:%Key1%=! If /I Not %%s==!ss! ( Set ss=!ss:*['=! >>"%To%" Echo !ss:'];=! ) ) |
------- Последний раз редактировалось megaloman, 25-03-2013 в 13:25. Причина: Исправил ("%From%") на (`Type "%From%"`) по предложению gora для возможной работы с приведенным файлом Отправлено: 19:07, 24-03-2013 | #3 |
Пользователь Сообщения: 88
|
Профиль | Отправить PM | Цитировать Ничего не получается-
1.Сохранил вышеуказанный код в bat файл 2.положил его вместе с файлом config.js по адресу D:\Delete\ 3.Запускаю батник, ничего не меняется, пишу в нем pause -возвращает пустое окно с предложением нажать любую клавишу |
Отправлено: 00:56, 25-03-2013 | #4 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать Цитата 4zz:
Цитата:
2 Код оформляйте в тегах [code] - значок # на панели "Быстрого ответа" 3 Судя по тексту в первом посте и отсутствию у Вас положительных результатов от предложенных Вам здесь решений, у Вас что-то не в порядке с символами окончания строк в Вашем исходном файле. Посему нужен Ваш исходный файл. |
|||
Отправлено: 12:02, 25-03-2013 | #5 |
Пользователь Сообщения: 88
|
Профиль | Отправить PM | Цитировать megaloman, [
Не работает gora, Исправил первое сообщение |
Отправлено: 12:33, 25-03-2013 | #6 |
Пользователь Сообщения: 88
|
Профиль | Отправить PM | Цитировать |
Отправлено: 12:42, 25-03-2013 | #7 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать |
Отправлено: 13:06, 25-03-2013 | #8 |
Пользователь Сообщения: 88
|
Профиль | Отправить PM | Цитировать gora, megaloman,
СПАСИБО ОГРОМНОЕ!!! все работает!!! Получилось так (добавил, еще, строчку с путем установки): @Echo Off Set From=D:\Delete\config.js Set To=D:\Delete\config.prog Set Key1=prog[pn] Set Key2=cmds[pn] ChCp 1251 >nul SetLocal EnableExtensions EnableDelayedExpansion If Exist "%To%" Del "%To%">nul FOR /F "usebackq delims=" %%s IN (`Type "%From%"`) DO ( Set ss=%%s Set ss=!ss:%Key1%=! Set ss=!ss:%Key2%=! If /I Not %%s==!ss! ( Set ss=!ss:*['=! >>"%To%" Echo !ss:'];=! ) ) |
Отправлено: 13:54, 25-03-2013 | #9 |
Пользователь Сообщения: 88
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
Этим кодом получаем список установленных программ, для контроля |
|
Отправлено: 22:26, 25-03-2013 | #10 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
PowerShell - [решено] Замена строк из файла строками из файла в файле | bcubbs@fb | Скриптовые языки администрирования Windows | 6 | 24-01-2013 17:22 | |
[решено] Чтение строк из лога и запись их в файл | support23 | AutoIt | 5 | 18-10-2012 12:04 | |
VBA - Visual Basic Чтение строк из txt | Startup | Программирование и базы данных | 2 | 23-09-2012 17:48 | |
CMD/BAT - [решено] помогите дописать команду - чтение строк из файла | jannaly | Скриптовые языки администрирования Windows | 4 | 02-06-2012 17:38 | |
C/C++ - Чтение из бинарного файла формата GRD | Violetta_ | Программирование и базы данных | 3 | 20-05-2012 19:45 |
|