1:@echo off 2:@echo off
set n=1 set m=123456
set m=123456 echo %m:~1,1%
echo %m:~n,1% pause
pause
上面两个小程序其实完成的目的是一样的,但为什么右边这个能正确的输出结果“2”,但左边这个输出的却是“m:~n,1”?
请高手解答,左边这个不对在哪里呢?谢谢!!!
批处理中的变量作为命令的参数
答案:2 悬赏:20 手机版
解决时间 2021-03-14 20:07
- 提问者网友:喧嚣尘世
- 2021-03-14 07:04
最佳答案
- 五星知识达人网友:我住北渡口
- 2021-03-14 08:28
给你推荐个网址
http://club.topsage.com/thread-1729220-1-1.html
http://www.cn-dos.net/forum/viewthread.php?tid=15669
一、
@echo off
setlocal enabledelayedexpansion
set n=1
set m=123456
echo !m:~%n%,1!
pause
二、
@echo off
set m=123456
echo %m:~1,1%
pause
全部回答
- 1楼网友:山河有幸埋战骨
- 2021-03-14 10:01
引用变量要加百分号,启用延迟变量扩充后可以用叹号引用变量,百分号引用的变量在语句执行前扩展,叹号引用的变量在语句执行时扩展。
@echo off
setlocal enabledelayedexpansion
set n=1
set m=123456
echo !m:~%n%,1!
pause
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯