1. 程式人生 > >bat文件中批處理設置變量延遲的問題

bat文件中批處理設置變量延遲的問題

tex bat文件 ces ado type ref images delay tro

在bat文件中想實現對變量的賦值和輸出,發現設置的變量在後續使用中為空,代碼如下:

@echo off
for %%i in (*) do (
set var=%%i
echo %var%
)

理論上,輸出結果應為當前命令所在目錄裏的所有文件名,可實際的輸出結果 卻為
技術分享圖片
問題分析:
這涉及到批處理命令中的變量延遲擴展問題,詳細請參考:https://blog.csdn.net/subkiller/article/details/7344509
解決方法:

@echo off
for %%i in (*) do (
setlocal enabledelayedexpansion//設置變量延遲擴展
set var=%%i
echo !var!//使用變量
)

輸出結果為:
技術分享圖片

bat文件中批處理設置變量延遲的問題