Setting variables and taking effect in one batch command line -


i found out if following:

set variable=test & echo %variable%  --outputs "%variable%" echo %variable%                      --outputs "test" 

the change won't take effect until new line runs. need have take effect need use long, one-lined command.

you need delayed expansion or call echo:

@echo off  setlocal enabledelayedexpansion  set var=val&echo !var!  endlocal  set var=val&call echo %%var%% 

if have compositions of commands put & or in brackets set command take effect after of them executed.so need or delayed expansion (which allow access variables ! instead of %) or call

to enable delayed expansion in command prompt need start cmd /v:on :

>cmd /v:on >set variable=test & echo !variable!   

Comments

Popular posts from this blog

php - Submit Form Data without Reloading page -

linux - Rails running on virtual machine in Windows -

php - $params->set Array between square bracket -