Установка переменной среды - PullRequest
1 голос
/ 31 декабря 2010

Я использую XP. У меня проблема с использованием переменных.

Я использую следующий код

@ эхо выкл set var = "srting"

Когда я проверяю значение переменной, используя%

set% var%

Переменная окружения% var% не определена

Кто-нибудь поможет ...

Ответы [ 3 ]

1 голос
/ 01 марта 2011

set% var% Переменная окружения% var% не определена

Пробелы не допускаются при установке переменных в пакетном файле DOS.

Попробуйте это:

@ echo off

set var = "srting"

эхо% var%

.... это должно дать вам вывод "srting" на следующей строке.

Если вы попробуете сейчас - ваша собственная команда: установите% var%

вывод должен быть: "Источник переменной среды не определен"

что на мой взгляд правильно. Надеюсь, что это имеет смысл для вас.

1 голос
/ 31 декабря 2010

Уберите пробел до и после знака равенства;IIRC, я думаю, что это может вызвать проблемы.

Кроме того, вы не можете поместить более одной команды в строку, подобную этой, вы должны разделить ее амперсандами или вместо этого изменить ее на:

@echo off
set var="srting"

Редактировать:

Вы сказали, что пытаетесь:

Set %var%

, но% var% является значением, а не именем переменной.Это действительно то, что вы намеревались?

0 голосов
/ 31 декабря 2010

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

@echo off
set FILE_CONTENT=string

for /f %%a in (file.txt) do set var=%%a

if %var%==%FILE_CONTENT% (
 goto MATCHED
 ) else (
     goto NOT_MATCHED
     )

 :MATCHED
 echo "matched"
 goto:EOF

 :NOT_MATCHED
 echo "Not matched"
 goto:EOF

Однако, если имя файла содержит «spaces» или «(», как в «c:\program files(x86)», приведенный выше код не будет работать. Обходной путь должен получить короткое имя (вероятно, используя: ~ dpsx) файла и затем использовать его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...