3

У меня есть пакетный файл Windows, называемый fileA.bat, который содержит переменную, установленную в нем. Пример кода файла A.bat:

set fileA_username=michael

теперь у меня есть другой пакетный файл, названный fileB.bat, который должен получить доступ к этому набору переменных в fileA.bat.

Поэтому код, который я пишу в fileB.bat, хотел бы сделать что-то вроде этого:

set fileB_username = %fileA_username%

и затем продолжайте использовать имя_файлаB_serser в коде скрипта.

FileB будет вызывать fileA как часть выполнения:

код в файле B:

---
---
call fileA.bat
---
---
set fileB_username = fileA_username
---
if fileB_username
----

Как получить доступ к переменным, которые установлены во внешних пакетных файлах? Благодарю.

2 ответа2

2

Если вы не укажете SETLOCAL или не сбросите переменную явно в пакетном файле A, переменная будет глобальной и доступной для вашего второго пакетного файла.

Для получения дополнительной информации см. Почему выгрузка переменных в пакетных файлах Windows

1

У вас есть опечатка в имени переменной: fielA_username против fileA_username , в противном случае ваш код хорош. Также вам следует избегать пробелов вокруг знака = в команде SET поскольку они станут частью имени переменной и ее значения (попробуйте: SET foo=bar && SET foo = bar && SET foo).


@REM this is setenv.bat

SET ENV=IRON

@REM and this is "main" script

CALL setenv.bat

@REM append something to the value
SET ENV=%ENV%MENT

REM print the current value
SET ENV

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .