Форум программистов  
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Операционные системы > Windows
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 11.10.2017, 16:46   #1
7in
Евгений (Jin X)
Форумчанин
 
Аватар для 7in
 
Регистрация: 14.12.2014
Адрес: Самара
Сообщений: 220
Репутация: 133
По умолчанию Чтение настроек из файла

Вот такой код позволяет читать данные из cfg-файла:
Код:

for /f "eol=# delims== tokens=1*" %%i in (%~dpn0.cfg) do (
    set %%i=%%j
)

записанные в таком формате:
Код:

# это коммент
mainpath=%ProgramFiles(x86)%\MyDir
mainexe=MyProg.exe

Но тут есть проблема.
Мы получаем переменные окружения со значениями:
mainpath=%ProgramFiles(x86)%\MyDir
mainexe=MyProg.exe

Т.е. как есть. Строка "%ProgramFiles(x86)%" не раскрывается в "C:\Program Files (x86)"
Соответственно if exist %mainpath%\%mainexe% set found=1 не сработает.

Что можно изменить в этом коде, чтобы %-переменные раскрывались?
p.s. Мне не нужно просто вывести на экран значение через cmd /c echo %mainpath%, мне надо заполучить эти значения в переменную окружения...
__________________
Делаю лабы на Asm: asmlabs.ru
Tell me would you kill to save a life? Tell me would you kill to prove you're right?
Crash, crash, burn, let it all burn, this hurricane's chasing us all underground...
7in вне форума   Ответить с цитированием
Старый 13.10.2017, 12:27   #2
Arigato
СуперПрограммист
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Адрес: Россия РФ Регистрация: 27.07.2008
Сообщений: 14,012
Репутация: 3537
По умолчанию

Держите:
Код:

@echo off
for /f "eol=# delims== tokens=1*" %%i in (%~dpn0.cfg) do (
    call set %%i=%%j
)
echo %mainpath%\%mainexe%

Поясню. Вместо %%i и %%j подставятся их значения, после чего выполнится команда call, которая примет вид:
call set mainpath=%ProgramFiles(x86)%\MyDir
Переменная %ProgramFiles(x86)% заменяется на ее значение.
__________________
E-Mail: arigato.freelance@gmail.com

Последний раз редактировалось Arigato; 13.10.2017 в 12:29.
Arigato вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранение и чтение настроек программы с .ini файла.. FleXik Общие вопросы Delphi 6 25.01.2013 07:00
Чтение файла Farrel Общие вопросы C/C++ 2 20.02.2011 15:19
Чтение/запись настроек в саму себя(в exe). Человек_Борща Общие вопросы Delphi 19 04.06.2010 20:21
Генерация файла настроек для другой программы TRIZER Общие вопросы Delphi 2 17.11.2009 17:26




14:28.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru