Board logo

标题: 请高手帮忙指点一下,有点难度的问题! [打印本页]

作者: heheguai     时间: 2008-7-10 20:11    标题: 请高手帮忙指点一下,有点难度的问题!
请高手帮忙指点一下,有点难度的问题! @echo off for /r %%a in (*) do ( set k=%%a echo %k% ) pause 为啥不能输出 %k% ?

作者: pusofalse     时间: 2008-7-10 20:15
你确定语法果真正确吗? for /r %%a in (*.*) do (... 括号不是应该在同一行吗。。。。 你的问题,你在for语句里给k赋值,又在for语句中引用k,此时必须要开启变量延迟 请搜索变量延迟详解。。。

作者: bat-zw     时间: 2008-7-10 20:33
@echo off
for /r %%a in (*) do set k=%%a&call,echo %%k%%
pause

作者: heheguai     时间: 2008-7-10 20:35
多谢楼上的提醒,我已经用变量延迟解决问题了。多谢!

作者: heheguai     时间: 2008-7-10 20:35
@echo off&setlocal EnableDelayedExpansion for /r %%a in (*) do ( set k=%%~ta echo !k:~0,4! ) pause

作者: bat-zw     时间: 2008-7-10 20:38
@echo off
for /r %%a in (*) do set k=%%~ta&call,echo %%k:~0,4%%
pause