Board logo

标题: 请高手进,关于延迟变量的问题。 [打印本页]

作者: flyinspace     时间: 2007-3-26 09:44    标题: 请高手进,关于延迟变量的问题。
set VAR=before
if "%VAR%" == "before" (
set VAR=after
if "!VAR!" == "after" @echo If you see this, it worked
)
这个是windows的一个教程。。

但经过我的实验却无论如何都使用不了这个脚本。。

以至于许多脚本都用了许多其他的方法解决问题。。

请高手教我这个延迟变量的用法。。

最好可以给我一些具体的事例

作者: flyinspace     时间: 2007-3-26 09:52    标题: 为什么工作不了?我看了教程
@echo off
VERIFY OTHER 2>nul
SETLOCAL ENABLEEXTENSIONS
IF ERRORLEVEL 1 echo Unable to enable extensions
echo *********
set VAR=before
if "%VAR%" == "before" (
set VAR=after
if "!VAR!" == "after" @echo If you see this, it worked
)

echo ********
endlocal
pause

作者: everest79     时间: 2007-3-26 10:00
方法很简单,你参考下help setlocal

作者: balinger     时间: 2007-3-26 10:08
SETLOCAL ENABLEEXTENSIONS
换成
SETLOCAL ENABLEDELAYEDEXPANSION

作者: flyinspace     时间: 2007-3-26 14:29
谢谢,我已经完全明白了。。
呵呵。以前写批处理的时候。。
一直是这个搞不明白。。
看来我的功力又可以上升了