中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-06 01:21
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 想将 1.txt 内的 5及5以后的所有字串清空,该怎么办 查看 843 回复 5
楼 主 想将 1.txt 内的 5及5以后的所有字串清空,该怎么办 发表于 2007-10-07 17:13 ·  中国 安徽 芜湖 电信
高级用户
★★
积分 537
发帖 219
注册 2006-10-31 21:08
19年会员
UID 69036
性别 男
来自 芜湖
状态 离线
现有 1.txt 文本,内容如下一行:

123456789


有一批处理文件,内容如下:

@echo off
for /f "delims=" %%i in (1.txt) do (
set str=%%i
call set str=%%str:5*=%%
call echo.%%str%%
)
pause


目的:想将 1.txt 内的 5及5以后的所有字串清空,变成 "1234",该怎么办
江湖远
碧空长
路茫茫

一个人漫无目的的奔跑,风,刺骨的冷....
2 发表于 2007-10-07 17:23 ·  中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310
发帖 2,044
注册 2005-09-26 12:00
20年会员
UID 42843
性别 男
来自 四川南充
状态 离线
这样可以吗?
@echo off
for /f "delims=" %%i in (1.txt) do for /f "delims=5" %%a in ("%%i") do echo %%a
pause
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
huzixuan +1 2007-10-07 17:43
3 这样岂不更简单? 发表于 2007-10-07 17:30 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
for /F "delims=5" %%a in (1.txt) do echo %%a
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
huzixuan +1 2007-10-07 17:43
4 发表于 2007-10-07 17:43 ·  中国 安徽 芜湖 电信
高级用户
★★
积分 537
发帖 219
注册 2006-10-31 21:08
19年会员
UID 69036
性别 男
来自 芜湖
状态 离线
主要是奇怪于
set str=%str:*5=%
可以做相反的事
set str=%str:5*=% ,不行

*5 ^-^!
5* - -?
江湖远
碧空长
路茫茫

一个人漫无目的的奔跑,风,刺骨的冷....
5 发表于 2007-10-07 18:39 ·  中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310
发帖 2,044
注册 2005-09-26 12:00
20年会员
UID 42843
性别 男
来自 四川南充
状态 离线
环境变量替换只支持被替换的字符以星号打头,不支持被替换的字符以星号结尾
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
huzixuan +2 2007-10-08 16:32
6 发表于 2007-10-08 16:32 ·  中国 安徽 芜湖 电信
高级用户
★★
积分 537
发帖 219
注册 2006-10-31 21:08
19年会员
UID 69036
性别 男
来自 芜湖
状态 离线
原来如此
江湖远
碧空长
路茫茫

一个人漫无目的的奔跑,风,刺骨的冷....
论坛跳转: