
批處理文件中變量延遲與調(diào)用參數(shù)的沖突有一段代碼,簡單的一個腳本調(diào)用另一個腳本,在被調(diào)用的腳本中改變變量的值調(diào)用腳本
下面是被調(diào)用的腳本nclick="copycode($('code0'));">復(fù)制代碼
- rem 1.bat
- @echo off
- set var=1
- call 2.bat var
- echo %var%
調(diào)用1.bat后,會出現(xiàn)以下結(jié)果2即2.bat中對變量的更改起了作用但是,如果我在2.bat中加了這樣一句setlocal EnableDelayedExpansion即2.bat變成下面這樣:nclick="copycode($('code1'));">復(fù)制代碼
- rem 2.bat
- set %1=2
再次調(diào)用1.bat的結(jié)果是:12.bat對變量的更改并沒有起作用百思不得其解,不知到底CMD本身對%1,%2這樣的變量是如何處理的,為何會有這樣的結(jié)果?求高人指點nclick="copycode($('code2'));">復(fù)制代碼
- rem 2.bat
- setlocal EnableDelayedExpansion
- set %1=2

