批处理中call set是怎么传递的,具体用法是什么,帮忙举例解释一哈!谢谢!
1个回答
展开全部
call
在这里起到延迟变量的作用,当要对一个变量进行两次"脱壳"处理时,就要启动延迟变量
你的代码,假设set
space=abcd
(若是空值,不好解释)
第一次脱壳为
set
e=%space:~0,2%
第二次脱壳为
set
e=ab
同理,用延迟变量同样可以.如下代码.
可以看到,结果都一样,一个是用call,一个是用延迟变量.
@echo
off
set
c=2
set
a=123
call
set
b=%%a:~0,%c%%%
echo
%b%
pause
setlocal
enabledelayedexpansion
set
b=!a:~0,%c%!
echo
!b!
pause
在这里起到延迟变量的作用,当要对一个变量进行两次"脱壳"处理时,就要启动延迟变量
你的代码,假设set
space=abcd
(若是空值,不好解释)
第一次脱壳为
set
e=%space:~0,2%
第二次脱壳为
set
e=ab
同理,用延迟变量同样可以.如下代码.
可以看到,结果都一样,一个是用call,一个是用延迟变量.
@echo
off
set
c=2
set
a=123
call
set
b=%%a:~0,%c%%%
echo
%b%
pause
setlocal
enabledelayedexpansion
set
b=!a:~0,%c%!
echo
!b!
pause
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询