3楼的变量延迟方案已修改,没注意你的 set /p 写成了 set p
至于除了 3 楼代码以外的方案,我以部分代码举几个栗子
这个是用 call 代替变量延迟的方案,但不像变量延迟那样通用和高效:- if %ERRORLEVEL% equ 2 (
- set abc=11559988552233
- call echo;%%abc%%
- pause
- )
复制代码 其实只为了显示变量的话,临时开闭变量延迟是最好的选择:- if %ERRORLEVEL% equ 2 (
- set abc=11559988552233
- setlocal enabledelayedexpansion
- echo;!abc!
- endlocal
- pause
- )
复制代码 简短的折中方案,代码短且通用,但效率低:- if %ERRORLEVEL% equ 2 (
- set abc=11559988552233
- cmd /v /c echo;!abc!
- pause
- )
复制代码 还有其他的办法,但这三个是比较推荐的 |