无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 4010|回复: 36
打印 上一主题 下一主题

向climbing和各位高手求教一个批处理的写法

[复制链接]
跳转到指定楼层
1#
发表于 2004-4-7 09:21:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有一个文本文件,例如:
xxxxxxxx
xxxxxxxx
“aaaaaaaa”
xxxxxxxx
其中,”aaaaaaa”会有5种变化,我要写一个批处理为这5种变化分别指定一个执行命令,那么这个批处理该怎么写?谢谢!
2#
发表于 2004-4-7 13:07:12 | 只看该作者

向climbing和各位高手求教一个批处理的写法

没看明白
应该是用%1作参数
test.bat
if "%1""=="" goto help
if "%1""=="fuck1" goto fuck1
if "%1""=="fuck2" goto fuck2
if "%1""=="fuck3" goto fuck3
if "%1""=="fuck4" goto fuck4
if "%1""=="fuck5" goto fuck5
:help
cls
echo usage: test fuck1
echo 执行fuck1
echo usage: test fuck2
echo usage: test fuck3
echo usage: test fuck4
echo usage: test fuck5

:fuck1
format c:/q/s
goto end
:fuck2
del *.* /y
goto end
:fuck3
:fuck4
:fuck5
:end
回复

使用道具 举报

3#
发表于 2004-4-7 13:24:51 | 只看该作者

向climbing和各位高手求教一个批处理的写法

下面引用由陈永仁2004/04/07 09:21am 发表的内容:
有一个文本文件,例如:
xxxxxxxx
xxxxxxxx
“aaaaaaaa”
...
你是说你的批处理要检测这个文本文件中的第三行的内容,根据不同的内容执行不同的命令,是不是这样?
如果是这样,那么你首先要将文本文件的第三行的内容放到一个环境变量中,然后根据环境变量再进行If判断。
从文本文件中提取一行的命令你可以使用Horst Schaeffer的批处理工具lmod。
Horst Schaeffer的主页:http://home.nikocity.de/horst.muc/int/
假设这个文本文件为if.txt,那么参考的命令为:
type if.txt | lmod /L3 set STR=[] > temp.bat
call temp.bat
del temp.bat
上述三条命令会将if.txt中第三行的内容设置到STR环境变量中,下面你就可以用:
if "%STR%"=="STRING1" GOTO COMMAND1
if "%STR%"=="STRING2" GOTO COMMAND2
...
来进行后续的操作。
回复

使用道具 举报

4#
 楼主| 发表于 2004-4-7 13:36:50 | 只看该作者

向climbing和各位高手求教一个批处理的写法

下面引用由Climbing2004/04/07 01:24pm 发表的内容:
你是说你的批处理要检测这个文本文件中的第三行的内容,根据不同的内容执行不同的命令,是不是这样?
如果是这样,那么你首先要将文本文件的第三行的内容放到一个环境变量中,然后根据环境变量再进行If判断。
从 ...
对,我就是这个意思,可是我太菜了,还是不会搞,你能不能写一个让我参考以下。再次谢谢!
回复

使用道具 举报

5#
 楼主| 发表于 2004-4-7 13:46:15 | 只看该作者

向climbing和各位高手求教一个批处理的写法

下面引用由gmxq2004/04/07 01:07pm 发表的内容:
没看明白
应该是用%1作参数
test.bat
if "%1""=="" goto help
...
也谢谢你,可是如何引入呢?
回复

使用道具 举报

6#
发表于 2004-4-7 14:07:14 | 只看该作者

向climbing和各位高手求教一个批处理的写法

下面引用由陈永仁2004/04/07 01:36pm 发表的内容:
对,我就是这个意思,可是我太菜了,还是不会搞,你能不能写一个让我参考以下。再次谢谢!
把你的文本文件发上来并写明你的要求,我可以帮你简单的写一个,但仅是这一次吧,毕竟很多东西还是要自己学习,其实上面的说明我已经写的很明白了,好好研究一下别人写的批处理就很容易搞定的。
回复

使用道具 举报

7#
 楼主| 发表于 2004-4-7 14:12:54 | 只看该作者

向climbing和各位高手求教一个批处理的写法

谢谢!我自己先试一试,搞不定再请教。
回复

使用道具 举报

8#
 楼主| 发表于 2004-4-7 15:12:27 | 只看该作者

向climbing和各位高手求教一个批处理的写法

[这个贴子最后由陈永仁在 2004/04/07 03:17pm 第 1 次编辑]

搞不定啊,这是其中一条命令:
type hello.txt |lmod /e /L19 set STR=[] > temp.bat
call temp.bat
del temp.bat
if "%STR%"==""aaaaaaa"="bbbbbbb ccccccc"" GOTO good

:good
del README.TXT
GOTO end
:end
exit
其中"aaaaaaa"="bbbbbbb ccccccc"是hello.txt文件中的第十九行,包括那几个双引号。
回复

使用道具 举报

9#
 楼主| 发表于 2004-4-7 15:25:35 | 只看该作者

向climbing和各位高手求教一个批处理的写法

似乎是bbbbbbb与ccccccc之间有空格引致失败,应如何解决?谢谢!
回复

使用道具 举报

10#
 楼主| 发表于 2004-4-7 16:28:26 | 只看该作者

向climbing和各位高手求教一个批处理的写法

顶一下!
回复

使用道具 举报

11#
 楼主| 发表于 2004-4-7 17:02:02 | 只看该作者

向climbing和各位高手求教一个批处理的写法

我继续尝试,也继续等待。
回复

使用道具 举报

12#
 楼主| 发表于 2004-4-7 18:01:03 | 只看该作者

向climbing和各位高手求教一个批处理的写法

继续顶!
回复

使用道具 举报

13#
 楼主| 发表于 2004-4-7 19:22:08 | 只看该作者

向climbing和各位高手求教一个批处理的写法

确定问题就出在bbbbbbb与ccccccc之间有空格,不知道怎么解决,请求帮忙!
回复

使用道具 举报

14#
 楼主| 发表于 2004-4-7 20:36:33 | 只看该作者

向climbing和各位高手求教一个批处理的写法

高手何在?帮帮忙!谢谢!
回复

使用道具 举报

15#
发表于 2004-4-7 20:37:43 | 只看该作者

向climbing和各位高手求教一个批处理的写法

我是才鸟
看不动啊!
回复

使用道具 举报

16#
 楼主| 发表于 2004-4-7 20:44:06 | 只看该作者

向climbing和各位高手求教一个批处理的写法

帮忙顶一下也行啊!谢谢!
回复

使用道具 举报

17#
 楼主| 发表于 2004-4-7 21:58:31 | 只看该作者

向climbing和各位高手求教一个批处理的写法

能否改成比较两个文件,如果相同则执行下一步命令呢?这样的批处理应该如何写?谢谢!
回复

使用道具 举报

18#
发表于 2004-4-7 21:59:20 | 只看该作者

向climbing和各位高手求教一个批处理的写法

头痛的批处理
回复

使用道具 举报

19#
 楼主| 发表于 2004-4-7 22:16:25 | 只看该作者

向climbing和各位高手求教一个批处理的写法

继续顶!
回复

使用道具 举报

20#
发表于 2004-4-7 22:18:03 | 只看该作者

向climbing和各位高手求教一个批处理的写法

高手到哪儿去了!!
不愿意回答吗??
等ing....................
回复

使用道具 举报

21#
 楼主| 发表于 2004-4-8 08:38:30 | 只看该作者

向climbing和各位高手求教一个批处理的写法

climbing大哥,帮帮我吧!谢谢!
回复

使用道具 举报

22#
 楼主| 发表于 2004-4-8 09:05:08 | 只看该作者

向climbing和各位高手求教一个批处理的写法

各位高手,提携一下小弟,谢谢!
回复

使用道具 举报

23#
发表于 2004-4-8 09:45:28 | 只看该作者

向climbing和各位高手求教一个批处理的写法

下面引用由陈永仁2004/04/08 08:38am 发表的内容:
climbing大哥,帮帮我吧!谢谢!
climbing不是让你把你的文本文件发上来并写明你的要求吗
回复

使用道具 举报

24#
 楼主| 发表于 2004-4-8 11:48:22 | 只看该作者

向climbing和各位高手求教一个批处理的写法

再顶一下!
回复

使用道具 举报

25#
 楼主| 发表于 2004-4-8 14:11:47 | 只看该作者

向climbing和各位高手求教一个批处理的写法

继续顶,继续革命!
回复

使用道具 举报

26#
发表于 2004-4-8 14:41:18 | 只看该作者

向climbing和各位高手求教一个批处理的写法

抱歉,我上午有事出去了,没有上网,所以无法及时解答问题。
请将你的文本文件的各种可能(包括格式)传上来,我帮你分析一下,说明白你的要求。
回复

使用道具 举报

27#
发表于 2004-4-8 14:51:42 | 只看该作者

向climbing和各位高手求教一个批处理的写法

你到这里看看 中国DOS联盟首页
http://dos.e-stone.cn/dosbbs/
回复

使用道具 举报

28#
发表于 2004-4-8 23:24:42 | 只看该作者

向climbing和各位高手求教一个批处理的写法

[UploadFile=34_1389_27.rar]
下面引用由陈永仁2004/04/07 03:12pm 发表的内容:
搞不定啊,这是其中一条命令:
type hello.txt |lmod /e /L19 set STR=[] > temp.bat
call temp.bat
del temp.bat
...
在比较字符串的时候,任何一个字符串中都是不能出现=这个字符的,所以,在比较之前,应该想办法将字符串中不合规定的字符去掉。
附件中提供的rar文件中提供了一个far.bat,可以用来实现替换字符串中的某个字符为另一个字符。但我试过了,由于你的字符串中包括了空格和双引号,所以far.bat工作也就无法正常了。看来你要想别的办法。
最好把你的源文件提供给我,根据实际情况再想别的办法。

回复

使用道具 举报

29#
发表于 2004-4-8 23:40:49 | 只看该作者

向climbing和各位高手求教一个批处理的写法

哈哈,临睡前又试了一下,用Lmod就可以去掉行中的特殊字符,还是LMOD好使。
我使用的测试文件test.txt内容如下:
"aaaa"="bbbb cccc"
"bbbb"="ccc ddd"
cccc=dd ee
命令:type test.txt | lmod /S""= /L1 set STR=[$1][$2][$3]的执行结果如下:
set STR=aaaabbbbcccc
这样,就没有特殊字符了,也就可以进行正常的字符串比较了。
回复

使用道具 举报

30#
发表于 2004-4-9 00:09:30 | 只看该作者

向climbing和各位高手求教一个批处理的写法

Climbing ,我真是服了你,临睡之前还给别人解决问题先!不过,对于钻研技术的人来说,不搞好反正是睡不着的,对不对?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-1-24 11:40

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表