|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Поиск файла, значения в файле и создания для них переменных |
|
CMD/BAT - [решено] Поиск файла, значения в файле и создания для них переменных
|
Новый участник Сообщения: 8 |
Добрый день.
Нужна помощь в написании следующего скрипта: 1. Необходимо найти на ПК файл с названием cspwork.txt, путь к этому файлу занести в переменную %home% 2. В этом файле несколько строк различного содержания, нужно найти строку в файле с содержанием "PATH=C:\CSP\test" и все содержимое данной строки, что стоит после PATH= занести в переменную %path1% (C:\CSP\test) 3. Удалить созданные переменные. Помогите пожалуйста, спасибо! |
|
Отправлено: 15:45, 29-02-2012 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать popoves, что Вы уже сделали, и что у Вас не получается?
|
Отправлено: 16:04, 29-02-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать Получилось следующее:
:: присваиваем результату поиска пути к cspwork.txt значение переменной %home% For /F "tokens=*" %%i in ('dir /b /s /a -d C:\cspwork.txt') do set home=%%i :: присваиваем переменной %path1% значение из файла после PATH= For /F "eol=; tokens=1* delims==" %%i In (%home%) Do Set %%i=%%j PATH=%path1% но почему-то не работает, с удалением переменных пока не разобрался, и хочется чтобы поиск осуществлялся на всех локальных дисках. |
Отправлено: 17:42, 29-02-2012 | #3 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать Еще вопрос, как можно скрипт 2-го пункта:
"For /F "eol=; tokens=1* delims==" %%i In (%home%) Do Set %%i=%%j PATH=%path1%" (ну или подобный/исправленный, этот пока не работает) запустить не из BAT-файла, а из командной строки, набирая в одну строку? |
Отправлено: 18:12, 29-02-2012 | #4 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать Все разобрался, я ошибся в одной строчке, поэтому не работало.
В итоге BAT: :: присваиваем результату поиска пути к cspwork.txt значение переменной %home% For /F "tokens=*" %%i in ('dir /b /s /a -d C:\cspwork.txt') do set home=%%i :: присваиваем переменной %path1% значение из файла после PATH= For /F "eol=; tokens=1* delims==" %%i In (%home%) Do Set %%i=%%j PATH=%path1% Из командной строки: For /F "tokens=*" %i in ('dir /b /s /a -d C:\cspwork.txt') do set home=%i For /F "eol=; tokens=1* delims==" %i In (%home%) Do Set %i=%j; PATH=%path1% Последний вопрос: Данные переменные, как я понял, создаются на время одной cmd сессии, т.е. после закрытия bat-файла или командной строки (во втором случае), эти переменные недоступны. Как можно сделать их доступными независимо от закрытия сессии, т.е. на определенный промежуток времени, или как-то в реестре (системе) навсегда зарегистрировать, а потом удалить? |
|
Отправлено: 20:59, 29-02-2012 | #5 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Смена кодировки текстового файла, поиск строки и разбор значения | profcom | Скриптовые языки администрирования Windows | 0 | 10-11-2011 20:20 | |
CMD/BAT - [решено] Задавать значения и путь в текстовом файле | white155 | Скриптовые языки администрирования Windows | 4 | 16-04-2011 14:10 | |
CMD/BAT - [решено] Изменение переменных в текстовом файле средствами bat | men232 | Скриптовые языки администрирования Windows | 1 | 29-11-2010 03:30 | |
Теория - Можно ли достать значения цены с графика, получив их в текстовом файле? | evg64 | Программирование и базы данных | 1 | 26-10-2009 07:26 | |
MySQL - Поиск несуществующего значения. | DedAlex | Программирование и базы данных | 7 | 04-06-2008 15:13 |
|