
【已解決】批處理如何才能使參數中存在的環境變量不被提前擴展最后由 ldl383 于 -1-18 19:39批處理的參數——%1、%0等如何處理?
這個雖然可以處理特殊字符,但是由于某些變量的優先級比如%1的內容為%windir%xx^^&^^&xx.xxx在引號里由于%windir%的優先級還是被提前擴展了。。。所以賦給par1的值為C:Windowsxx^^&^^&xx.xxx(沒引號,不一定是C盤)但是利用:for /f delims== %%i in ('set') do (set %%i=)來將這些變量賦空也沒用。。。所以,問題就是如何將%1等參數變量延遲?不算完全解決。%1或許是被預處理之后直接就擴展了,,可能根本沒機會延遲nclick="copycode($('code0'));">復制代碼
- @echo off
- set par1=%~f1
- setlocal enabledelayedexpansion
- echo !par1!
- pause

