Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата VAbramyak:
сделал, выводит просто echo !AppPath!, а не значение переменной. »
Стало быть забыли про:
Цитата Iska:
«setlocal enableextensions enabledelayedexpansion» в начале пакетного файла »
Цитата VAbramyak:
тем более я делаю проверку »
Проверка выполняется — поскольку в ней нет раскрытия переменной, а только её имя.

Смотрите:
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sVar=aaaaaaaaaa

(
	set sVar=bbbbbbbbbb

	if defined sVar (
		echo [%sVar%]
		echo [!sVar!]
	)
)

endlocal
exit /b 0
Цитата:
Код: Выделить весь код
[aaaaaaaaaa]
[bbbbbbbbbb]
— в случае «echo [%sVar%]» выводится то значение, которое переменная окружения имела до входа в скобки.

Цитата VAbramyak:
а почему теперь не работает код »
По тому же — повторяю: раскрытие переменных окружения происходит ДО входа в скобки. И уберите пробелы в конце «set AppPath2="%%j" »

Отправлено: 15:14, 06-06-2014 | #7