中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 08:13
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » DOS需求:替换、压缩 命令一体化。。。 查看 898 回复 10
楼 主 DOS需求:替换、压缩 命令一体化。。。 发表于 2008-08-06 12:52 ·  中国 新疆 克拉玛依 电信
初级用户
积分 20
发帖 7
注册 2008-02-27 10:52
18年会员
UID 111528
性别 男
状态 离线
"2007/12","200711090401009","20080109000135","100010040","6",+000000000000050000.000000,+000000000000050000.000000,+000000000000000000.000000,+000000000000000000.000000,+000000000000000000.000000,+000000000000000000.000000

------------------------------------------------------------------------------------------------------
上面这些数据是从DB2数据库里面导出来的,里面有引号、逗号、以及空格,我现在需要对这些引号、逗号、以及空格 替换成 | .... 有朋友,有方法吗?

然后对这些.txt文件进行压缩。。。。。

谢谢!!!
2 发表于 2008-08-06 13:02 ·  中国 江苏 苏州 吴江区 电信
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线

@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in (cc.txt) do (
set a=%%i
set a=!a:"=|!
set a=!a:,=^|!
set a=!a: =^|!
echo !a!>cc.txt
)
pause


[ Last edited by huahua0919 on 2008-8-6 at 01:26 PM ]
3 发表于 2008-08-06 13:07 ·  中国 新疆 克拉玛依 电信
初级用户
积分 20
发帖 7
注册 2008-02-27 10:52
18年会员
UID 111528
性别 男
状态 离线
替换了,但是只是显示在DOS屏幕上,我想直接替换到cc.txt里面去?

如何写呢?
4 发表于 2008-08-06 13:07 ·  中国 江苏 苏州 吴江区 电信
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
这个我就不知道了
5 发表于 2008-08-06 13:23 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线

@echo off&setlocal enabledelayedexpansion
(for /f "delims=" %%i in (cc.txt) do (
set a=%%i
set a=!a:"=|!
set a=!a:,=^|!
set a=!a: =^|!
echo !a!
))>ss.txt
del cc.txt
ren ss.txt cc.txt
pause
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
6 发表于 2008-08-06 13:27 ·  中国 江苏 苏州 吴江区 电信
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
编辑过了。你再尝试,这是最基本的,你还问啊
7 发表于 2008-08-06 13:29 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in (a.txt) do (
set a=%%i
set a=!a:"=|!
set a=!a:,=^|!
set a=!a: =^|!
>b.txt echo !a!
)
move /y b.txt a.txt
8 发表于 2008-08-06 13:38 ·  中国 新疆 克拉玛依 电信
初级用户
积分 20
发帖 7
注册 2008-02-27 10:52
18年会员
UID 111528
性别 男
状态 离线
"701600125101000000000001 ","01600101251010000000000017 ","01 ","1","0","0"
"0160010000000043 ","01600101211010000000000025 ","01 ","1","0","0"
"0180020000000013 ","0180020121101000018002010000000 ","01 ","1","0","0"


----------------------------------------------------------------------------------------------
替换成:
701600125101000000000001|01600101251010000000000017|01|1|0|0|
0160010000000043|01600101211010000000000025|01|1|0|0|
0180020000000013|0180020121101000018002010000000|01|1|0|0|

条件是:
1、"," 替换成 |
2、第一个引号不替换,但最后一个引号要替换。。。。。

谢谢 !!!!!!!!!!!!!!!!!!
9 发表于 2008-08-06 22:51 ·  中国 湖北 武汉 联通
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
@echo off & setlocal

for /f "delims==" %%i in (your_file.txt) do (
for %%k in (%%i) do for %%c in (%%~k) do set/p a=%%c^|<nul
echo.
)
10 发表于 2008-08-06 23:24 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
18年会员
UID 115804
性别 男
状态 离线
版主高明。。
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
11 发表于 2008-08-07 01:36 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
sed "s//\|/g" a.txt | sed "s/.//1" | tr -s "|"


sed.exe
tr.exe
http://unxutils.sourceforge.net/
论坛跳转: