中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-05 22:02
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]如何在相隔两个字符间插入逗号 查看 742 回复 4
楼 主 [已结]如何在相隔两个字符间插入逗号 发表于 2007-09-23 19:25 ·  中国 江西 抚州 电信
中级用户
★★
积分 220
发帖 99
注册 2005-08-16 01:08
20年会员
UID 41691
状态 离线
希望用系统自带命令

我有一文本test.txt,内容如下:

asiuhdfioashfda1234

请问如何在相隔两个字符间插入逗号

as,iu,hd,fi,oa,sh,fd,a1,23,40
请高手指教

[ Last edited by hbby on 2007-9-24 at 11:19 AM ]
2 发表于 2007-09-23 21:05 ·  中国 北京 海淀区 联通
银牌会员
★★★
积分 1,287
发帖 634
注册 2007-05-02 15:06
19年会员
UID 87277
性别 男
来自 cmd.exe
状态 离线
set截取.
3 发表于 2007-09-23 22:05 ·  中国 北京 网联光通
初级用户
★★
积分 128
发帖 59
注册 2007-09-15 23:03
18年会员
UID 97496
性别 男
状态 离线

@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in (test.txt) do (
set str=%%i
if not "!str!"=="" (
set var=!str:~0,2!
set str=!str:~2!
:ll
set var=!var!,!str:~0,2!
set str=!str:~2!
if not "!str!"=="" goto ll
)
)
echo !var!
pause



写了2遍基本同样的代码是为了不显示第一个逗号,哈哈
4 发表于 2007-09-23 22:17 ·  中国 浙江 杭州 电信
高级用户
★★
积分 537
发帖 219
注册 2007-08-04 09:43
19年会员
UID 94620
性别 男
来自 杭州--半山
状态 离线
@echo off
set m=
setlocal enabledelayedexpansion
for /l %%i in (0,2,100) do for /f "delims=" %%a in (test.txt) do (
set s=%%a & set j=!s:~%%i,2!
set m=!m!,!j!
call :e !j!
)
pause
:e
if "%1"=="" set m=!m:~1,-1! &echo !m! &pause
5 发表于 2007-09-24 11:19 ·  中国 江西 抚州 电信
中级用户
★★
积分 220
发帖 99
注册 2005-08-16 01:08
20年会员
UID 41691
状态 离线
感谢楼上的兄弟!3楼可用!
论坛跳转: