На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
Модераторы: Jin X
  
> Установка переменной в BAT
    Здравствуйте.
    Как можно установить переменную в бат файле из своей программы.
    Т.е. бат файл вызывает мою программу, и потом может использовать значение, устоновленное ей, как %somevar%

    Пробовал:
    ExpandedWrap disabled
      SetEnvironmentVariable('somevar', test');

    ExpandedWrap disabled
      setvar.exe
      echo %somevar%

    Не работает.

    Как это можно сделать?
      "Воля - это то, что заставляет тебя побеждать, когда твой рассудок говорит тебе, что ты повержен" Карлос Кастанеда
        Не то (
        ExpandedWrap disabled
          setvar.exe > %somevar%
          setvar.exe >> %somevar%
          setvar.exe | %somevar%
          setvar.exe > somevar
          setvar.exe >> somevar
          setvar.exe | somevar

        не работает
          Цитата zzz5 @
          не работает
          И не должно. Весь этот синтаксис для перенаправления потоков чтения/записи (файлов), а не для манипуляций переменными окружения.

          Вариантов несколько. Вот несколько.
          В программе формируешь текстовый файл setvars.bat вида
          set somevar1=value1
          set somevar2-value2
          и вызываешь всё командой
          setvar1.exe
          call setvar.bat

          Можно выдать эти строки в стандартный вывод программы и выполнить команду
          setvar2.exe >>setvar.bat
          call setvar.bat

          В Windows XP и более новых последнюю программу можно использовать ещё и так
          for /F "delims=" %%V in ('setvar2.exe') do %%V

          Можно выдавать из программы строки в виде
          somevar=value
          тогда пример с for придётся немного переписать (по мне, так даже понятнее)
          for /F "delims=" %%V in ('setvar3.exe') do set %%V

          Можно внутри программы выполнить команду, задав для неё своё окружение, но думаю для тебя это сейчас будет сложновато.
          Всё написанное выше это всего лишь моё мнение, возможно ошибочное.
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script Execution time: 0,0902 ]   [ 18 queries used ]   [ Generated: 21.07.18, 09:35 GMT ]