中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » BAT处理两个文本夹sj.text和hz.text
作者:
标题: BAT处理两个文本夹sj.text和hz.text 上一主题 | 下一主题
roubye
初级用户





积分 25
发帖 16
注册 2010-12-1
来自 United States
状态 离线
『楼 主』:  BAT处理两个文本夹sj.text和hz.text

我想实现一个BAT处理两个文本夹sj.text和hz.text的文件,
生成目录mb.text例如

mb.text
vdootyvkshello
blvsndhhhok.ok
jcycrxxfhyes.yes
ieryundfpbat.bat.bat
dfmscjcwj@i love you
uuizhacpcoh!my god!
ifonyjvrpha ha ha
velwqugeshello
tjuwavlpqok.ok
prdgkzgfnyes.yes
pqmzgdvmnbat.bat.bat
xlovtkree@i love you
rwcqapckxoh!my god!
lqnwozrxzha ha ha
.....
就是把sj.text每一行不断和hz.text的每一行组合然后一行行放进mb.text


sj.text
- - - - - - - - - - - - - - - - - - -
不是普通一样的?

1.        vdootyvks
2.        blvsndhhh
3.        jcycrxxfh
4.        ieryundfp
5.        dfmscjcwj
6.        uuizhacpc
7.        ifonyjvrp
8.        velwquges
9.        tjuwavlpq
10.        prdgkzgfn
11.        pqmzgdvmn
12.        xlovtkree
13.        rwcqapckx
14.        lqnwozrxz
15.        ydmtxydom
16.        cdtwgkfvs
17.        tsunqucpp
18.        xstpcqgfw
19.        qavryduuo
20.        obgmakzlu
21.        autqzyjbg
22.        jhnwwhimy
23.        pdlcfosnd
24.        bbacvrvky
25.        qyacxkyog
26.        eyidzglcc
27.        wpdoubsbu
28.        wjdbyhgrc
29.        psqvxepqv
30.        axmtdnxuo
31.        ejjildads
32.        baiklhuby
33.        qhisgjqvf
34.        mgzmyxlck
35.        dfsglirqb
36.        myutyhozt
37.        yjhvwnxze
38.        yottsvgkn
39.        cjiqsuqck
40.        gypqapryw
41.        ouhhvzftd
42.        tfobotqar
43.        duadbhpwa
44.        bgspefvyi
45.        mgwuutwos
46.        verrzuvrd
47.        shgxrcxsz
48.        ewwppdhnb
49.        lbnwcwvsb
50.        ozrxaydmm
51.        xydofucsv
52.        fjdtrrqtl
53.        ilbohprso
54.        apewuozup
55.        wbtsmftek
56.        rirkmztsp
57.        ywitfigmn
58.        vfglqnckt
59.        dnkfvzzyb
60.        tqujppxza
61.        wiqmevxhv
62.        xejubunbm
63.        maqzsuhua
64.        xgeqbnjhn
65.        wdohmyvkl
66.        dnqupejji
67.        lwadtzzhj
68.        kgsawofgr
69.        fhomelxxl
70.        pvktjvere
71.        khqhtlqtr
72.        xfnrrwifu
73.        vloycxnkk
74.        kmfimuhhp
75.        klhuiywni
76.        snjpvmmfg
77.        txescrdms
78.        mlirqbtyb
79.        zfoozaeqh
80.        vdtxgkfvs
81.        tsunjncqi
82.        suvrdshzx
83.        scxszfwwp
84.        iwhovlunp
85.        cwvsbalwi
86.        ljpryjjot
87.        qfnwgqniy
88.        cdcextxms
89.        sacdzmtqi
90.        zakybinxe
91.        yreqpducv
92.        xkxdajite
93.        qmkqzgrlp
94.        bznofprvq
95.        gllkmybfu
96.        baikmhucy
97.        qhishjqof
98.        mzznrxlvl
99.        yhuhnktlw
100.        otwuajquv

真的不一样!

hz.text
- - - - - - - - - - - - - - - - - - -

hello
ok.ok
yes.yes
bat.bat.bat
@i love you
oh!my god!
ha ha ha

2010-12-2 11:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 2 楼』:  

你的描述和你的操作示例不一致



批处理之家 http://bbs.bathome.net/forum-5-1.html
2010-12-2 14:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
roubye
初级用户





积分 25
发帖 16
注册 2010-12-1
来自 United States
状态 离线
『第 3 楼』:  

就是把sj.text每一行不断和hz.text的每一行组合然后一行行放进mb.text

其中当然要去掉序号1.2.3.... 和别的无关文字

2010-12-2 14:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 4 楼』:  

如何区别有关和无关的字符?



批处理之家 http://bbs.bathome.net/forum-5-1.html
2010-12-2 15:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
roubye
初级用户





积分 25
发帖 16
注册 2010-12-1
来自 United States
状态 离线
『第 5 楼』:  

mb.text
vdootyvkshello
blvsndhhhok.ok
jcycrxxfhyes.yes
ieryundfpbat.bat.bat
dfmscjcwj@i love you
uuizhacpcoh!my god!
ifonyjvrpha ha ha
velwqugeshello
tjuwavlpqok.ok
prdgkzgfnyes.yes
pqmzgdvmnbat.bat.bat
xlovtkree@i love you
rwcqapckxoh!my god!
lqnwozrxzha ha ha

这就是例子啊

2010-12-2 17:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
roubye
初级用户





积分 25
发帖 16
注册 2010-12-1
来自 United States
状态 离线
『第 6 楼』:  

- - - - - - - - - - - - - - - - - - -
不是普通一样的?

1.        vdootyvks
2.        blvsndhhh
3.        jcycrxxfh
4.        ieryundfp
5.        dfmscjcwj
6.        uuizhacpc
7.        ifonyjvrp
8.        velwquges
9.        tjuwavlpq
10.        prdgkzgfn
11.        pqmzgdvmn
12.        xlovtkree
13.        rwcqapckx
14.        lqnwozrxz
15.        ydmtxydom
16.        cdtwgkfvs
17.        tsunqucpp
18.        xstpcqgfw
19.        qavryduuo
20.        obgmakzlu
21.        autqzyjbg

这有规律的
去掉第一至第三行 再去掉1.        vdootyvks前面的1.        加空格

2010-12-2 17:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
DXSX
中级用户





积分 247
发帖 147
注册 2009-4-9
状态 离线
『第 7 楼』:  

用 awk 编辑一个脚本 来完成。
如果是 cmd 下 可以通过 两次 for 循环 完成。

2010-12-2 17:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 8 楼』:  


@echo off
set m=-1
for /f "delims=" %%a in (hz.txt) do set/a m+=1&call set "#%%m%%=%%a"
setlocal enabledelayedexpansion
(for /f "tokens=1*" %%a in (sj.txt) do (
        set a=%%a
        if "!a:~-1!"=="." (
                set/a "n=^!(!a:~0,-1!%%m)*m+!a:~0,-1!%%m"
                for %%c in (!n!) do echo %%b!#%%c!
)))>mb.text
[ Last edited by Hanyeguxing on 2010-12-4 at 10:34 ]



批处理之家 http://bbs.bathome.net/forum-5-1.html
2010-12-2 23:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
roubye
初级用户





积分 25
发帖 16
注册 2010-12-1
来自 United States
状态 离线
『第 9 楼』:  

非常谢谢,不过
oh!my god!
这个不成功

2010-12-3 11:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
roubye
初级用户





积分 25
发帖 16
注册 2010-12-1
来自 United States
状态 离线
『第 10 楼』:  

Hanyeguxing帮个忙

2010-12-3 17:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 11 楼』:  

没注意到文本中有“!”,这样写:
@echo off&set m=-1
for /f "delims=" %%a in (hz.txt) do set/a m+=1&call set "#%%m%%=%%a"
setlocal enabledelayedexpansion
(for /f "tokens=1*" %%a in (sj.txt) do (
        set a=%%a
        if "!a:~-1!"=="." (
                set/a "n=^!(!a:~0,-1!%%m)*m+!a:~0,-1!%%m"
                for %%c in (!n!) do echo %%b!#%%c!
)))>mb.text




批处理之家 http://bbs.bathome.net/forum-5-1.html
2010-12-4 10:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
roubye
初级用户





积分 25
发帖 16
注册 2010-12-1
来自 United States
状态 离线
『第 12 楼』:  

谢谢Hanyeguxing

2010-12-4 10:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: