0
A
回答
4
的
解析器不同階段,解析一行時。
因此,在執行行(或塊中的任何行)之前,行或塊被解析時,百分比表達式都會展開。
所以在執行時他們不能再改變了。
set var=origin
echo #1 %var%
(
set var=new value
echo #2 %var%
)
echo #3 %var%
它輸出
#1 origin
#2 origin
#3 new value
如在分析時#2將執行該塊的任何行之前被擴展到origin
。 因此,您可以在#3塊後面看到新值。
相比之下,延遲擴展在每行執行之前就擴大了。
setlocal EnableDelayedExpansion
set var=origin
echo #1 %var%, !var!
(
set var=new value
echo #2 %var%, !var!
)
echo #3 %var%, !var!
輸出
#1 origin, origin
#2 origin, new value
#3 new value, new value
現在在#2你看到兩個不同的膨脹爲相同的變量,因爲當塊被解析%VAR%擴大,但經過線路set var=new value
是!var!
擴大執行。
有關批解析器的更多詳細信息,請參閱SO: How does the Windows Command Interpreter (CMD.EXE) parse scripts?
相關問題
- 1. 瞭解時間片和執行時間
- 2. NYTProf執行時分析和不分析時的執行時間
- 3. 解析與喬達時間
- 4. 解析時間
- 5. 錯誤解析時區與時間::片
- 6. 解析日期時間與時區
- 7. 與日期時間時區converttime解析
- 8. 解析時間SimapleDateFormat
- 9. 解析時間段
- 10. 獲取DNS解析時間和響應時間與Python
- 11. JSON與解析的時間或時間戳amCharts
- 12. 解析字符串到時間與原始時間不一樣
- 13. 任務執行時間高於定時器執行時間
- 14. Cassandra查詢執行時間分析
- 15. Codeigniter分析器執行時間錯誤?
- 16. 問題與日期時間解析
- 17. 與喬達時間解析週日期?
- 18. 與解析日期時間C#
- 19. 解析ISO持續時間與JSON.Net
- 20. 解析日期時間與lubridate
- 21. 與Java時間解析混淆UTC
- 22. 與亞秒時間解析數據
- 23. PHP執行時間vs空閒時間
- 24. SQL查詢時間 - 執行時間
- 25. SQL查詢長時間執行時間
- 26. 如何將json解析時間與ruby對象時間進行比較?
- 27. JS執行時間
- 28. button.onclick執行時間
- 29. Mfile執行時間
- 30. mysql執行時間