中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-02 23:53
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » set b=%%a:~%1%,%2%% 这样写不知道对不对 查看 1,011 回复 6
楼 主 set b=%%a:~%1%,%2%% 这样写不知道对不对 发表于 2007-01-10 01:56 ·  中国 安徽 芜湖 电信
高级用户
★★
积分 537
发帖 219
注册 2006-10-31 21:08
19年会员
UID 69036
性别 男
来自 芜湖
状态 离线
-------------如下-----------------------------------------
@echo off
set a=a b c d e f g
set 1=0
set 2=1

set b=%%a:~%1%,%2%%
echo %b%>ttttttttt.txt
----如上------------------------------------



我不知道怎么表达我的意思,总之我认为 这段代码
set b=%%a:~%1%,%2%%
echo %b%>ttttttttt.txt
运行结果应该等同于
set b=%a:~0,1%
echo %b%>ttttttttt.txt

ttttttttt.txt显示的应该是 a
可却不是这样 不知道是怎么回事?
2 发表于 2007-01-10 02:08 ·  中国 北京 联通
银牌会员
★★★
努力做坏人
积分 1,185
发帖 438
注册 2006-08-28 12:00
19年会员
UID 61449
来自 北京
状态 离线
这样试试

call set b=%%a:~%1%,%2%%
我今后在论坛的目标就是做个超级坏人!!!
3 发表于 2007-01-10 02:16 ·  中国 安徽 芜湖 电信
高级用户
★★
积分 537
发帖 219
注册 2006-10-31 21:08
19年会员
UID 69036
性别 男
来自 芜湖
状态 离线
不知道嘛,是这样???
@echo off
set a=a b c d e f g
set 1=0
set 2=1

call set b=%a:~%1%,%2%%
echo %b%>ttttttttt.txt


还是不行
4 发表于 2007-01-10 02:21 ·  中国 北京 联通
银牌会员
★★★
努力做坏人
积分 1,185
发帖 438
注册 2006-08-28 12:00
19年会员
UID 61449
来自 北京
状态 离线

call set b=%a:~%1%,%2%%
echo %b%>ttttttttt.txt


这里错了,跟我的一样吗?
我今后在论坛的目标就是做个超级坏人!!!
5 发表于 2007-01-10 03:17 ·  中国 山东 济南 电信
社区乞丐
★★
此图片另存后死机
积分 -49
发帖 90
注册 2006-12-02 13:00
19年会员
UID 72412
性别 男
状态 离线

@ECHO %dbg% OFF
setlocal ENABLEDELAYEDEXPANSION

set a=a b c d e f g
set 1=0
set 2=1

call set b=%%a:~!1!,!2!%%
echo %b%>ttttttttt.txt
我的网络笔记本.非联系本人请勿访问!http://w.vicp.net
6 发表于 2007-01-10 04:49 ·  中国 安徽 芜湖 电信
高级用户
★★
积分 537
发帖 219
注册 2006-10-31 21:08
19年会员
UID 69036
性别 男
来自 芜湖
状态 离线
谢楼上了
7 发表于 2007-01-11 14:10 ·  中国 湖北 武汉 电信
中级用户
★★
积分 452
发帖 202
注册 2006-12-21 13:46
19年会员
UID 74161
性别 女
状态 离线
Originally posted by tghksj at 2007-1-9 02:17 PM:

@ECHO %dbg% OFF
setlocal ENABLEDELAYEDEXPANSION

set a=a b c d e f g
set 1=0
set 2=1

call set b=%%a:~!1!,!2!%%
echo %b%>ttttttttt.txt



C:\>set b
b=%a:~!1!,!2!%
为什么我在CMD中使用就会是这个结果!!:(
论坛跳转: