como acessar variáveis que são definidas em um arquivo de lote diferente do windows?

3

Eu tenho um arquivo de lote do windows - chamado fileA.bat, que contém uma variável definida nele. Exemplo de código de fileA.bat:

set fileA_username=michael

agora eu tenho outro arquivo de lote, chamado fileB.bat, que precisa acessar essa variável definida em fileA.bat.

Então o código que eu escrevo no arquivo B.BAT iria querer fazer algo assim:

set fileB_username = %fileA_username%

e, em seguida, continue usando o fileB_username no código de script.

FileB estaria chamando fileA como parte da execução assim:

código no arquivo B:

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

como faço para acessar variáveis definidas em arquivos batch externos? Obrigado.

    
por tsum 27.11.2013 / 11:57

2 respostas

2

A menos que você especifique SETLOCAL ou desmarque a variável explicitamente no arquivo de lote A, a variável será global e acessível ao seu segundo arquivo de lote.

Para mais informações, consulte Por que descarregar variáveis em arquivos em lote do Windows

    
por 27.11.2013 / 12:31
1

Você tem um erro de digitação no nome da variável: fielA_username vs. fileA_username , caso contrário, seu código é bom. Além disso, você deve evitar espaços em torno do comando = login SET , pois eles se tornarão parte do nome da variável e de seu valor (tente: 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
por 27.11.2013 / 12:32