![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-23 12:23 |
共 47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,273 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [急][求助]请各位路过的大哥给小弟一个指导! |
| 可打印版本 4,237 / 27 |
| 第1楼 pizigao | 发表于 2004-01-13 00:00 |
| 银牌会员 发帖 292 积分 1,063 | |
|
[急][求助]请各位路过的大哥给小弟一个指导! 引言:我所在的单位是负责开发报税软件的,在升级过程(主要是下载补丁的形式,是用WINRAR做的自解压格式)中经常出现客户自己操作而造成升级不成功的情况!!(所有的ABC目录都是假设,实际上RIGHTIUM目录)
例如:我们的软件默认是安装在C:\ABC的目录下的,但是所有的文件都是放在C:\ABC\123456(每家企业都有自己的六位数企业编码),而自解压文件的默认安装目录是C:\ABC,因为考虑到每家的企业编码不一样,所以需要用户自己在C:\ABC的后面手工添加\123456(每家企业自己的企业编码),但是有相当多的用户直接点击安装而没有加\123456(每家企业自己的企业编码),最后造成升级失败!!! 如何写这样的批处理!!!!(在WIN98和WIN2000都要可以使用) 1、先自动查找硬盘每个分区上的ABC目录(考虑到有的用户会更改默认安装目录); 2、然后查找这个目录下的所有以六位数字(企业编码)命名的目录(因为有的会计是兼职的,可能会安装几个企业); 3、然后把找到的六位数字(企业编码)命名的目录用列表的形式列出来,让用户自己选择要打补丁的企业编码!!! 附注:1、可以把补丁文件做成自解压格式,然后配合批处理使用!!! 2、或者哪位老师可以教一下,用目前比较流行的安装程序,让它直接搜索注册表,然后把搜索到的六位数字(企业编码)命名的目录用列表的形式列出来,让用户自己选择要打补丁的企业编码!!! ==================================================== 我目前配合WBAT做了一个批处理(还未完成),但是有几点疑问: 1、如何把ABC目录下的JBSB和BAK目录不在列表中显示(让批处理自动判断) 2、如何实现点击所需要的企业编码后自动解压缩到所选的编码目录! 3、dready这个文件是否可以不用,直接用DIR! 附注:以上的操作均是在WIN98、WIN2000下使用,不是在DOS下,欢迎大家提建议! 以下是我未完成的批处理文件,请各位大哥指导一下!再次感谢! |
|
| 第2楼 pizigao | 发表于 2004-01-13 00:00 |
| 银牌会员 发帖 292 积分 1,063 | |
|
@echo off
cls REM 检测硬盘企业编码的文件夹所在的位置和文件夹! :_hd rem updata echo. echo. echo :m_dir " 选择需要升级企业编码的文件夹 " >%temp%\tmp.txt dready c: /w if errorlevel 1 goto :_D echo 正在检测C盘\RIGHTIUM目录下的企业编码...... dir c:\RIGHTIUM\?????? /b >>%temp%\tmp.txt echo C盘完成检测! :_D dready d: /w if errorlevel 1 goto :_E echo 正在检测D盘\RIGHTIUM目录下的企业编码...... dir d:\RIGHTIUM\?????? /b>>%temp%\tmp.txt echo D盘完成检测! :_E dready e: /w if errorlevel 1 goto :_F echo 正在检测E盘\RIGHTIUM目录下的企业编码...... dir e:\RIGHTIUM\?????? /b>>%temp%\tmp.txt echo E盘完成检测! :_F dready f: /w if errorlevel 1 goto :_G echo 正在检测F盘\RIGHTIUM目录下的企业编码...... dir f:\RIGHTIUM\?????? /b>>%temp%\tmp.txt echo F盘完成检测! :_G dready g: /w if errorlevel 1 goto :_H echo 正在检测G盘\RIGHTIUM目录下的企业编码...... dir g:\RIGHTIUM\?????? /b >>%temp%\tmp.txt echo G盘完成检测! :_H dready h: /w if errorlevel 1 goto :_I echo 正在检测H盘\RIGHTIUM目录下的企业编码...... dir h:\RIGHTIUM\?????? /b >>%temp%\tmp.txt echo H盘完成检测! :_I dready I: /w if errorlevel 1 goto :_Z echo 正在检测I盘\RIGHTIUM目录下的企业编码...... dir i:\RIGHTIUM\?????? /b >>%temp%\tmp.txt echo I盘完成检测! :_Z cls echo 完成检测! beep >nul cls call w.bat list @%temp%\tmp.txt:m_dir if errorlevel 100 goto _top if "%wbat%"=="" goto _ERROR set gfile=%wbat% goto _txt :_txt rem updata call w.bat box @123.BAT:sc_4 if errorlevel 100 goto _txt if "%?%" == "1" goto _rey set tOK= rem updata call w.bat box @123.BAT:sc_5 if errorlevel 100 goto _end if "%tOK%"=="ok" goto _ok if "%tOK%"=="OK" goto _ok goto sc5 :sc5 goto _end :_ok set tOK= cls quit >nul echo Loading... extract /y /l up021.cab \%gfile% /e |
|
| 第3楼 pizigao | 发表于 2004-01-13 00:00 |
| 银牌会员 发帖 292 积分 1,063 | |
|
以上的批处理还有很多地方不完善,还请大家一一指正!
|
|
| 第4楼 tdj | 发表于 2004-01-13 00:00 |
| 银牌会员 发帖 332 积分 1,131 | |
|
To:pizigao
呵呵。 |
|
| 第5楼 pizigao | 发表于 2004-01-13 00:00 |
| 银牌会员 发帖 292 积分 1,063 | |
|
|
|
| 第6楼 pizigao | 发表于 2004-01-13 00:00 |
| 银牌会员 发帖 292 积分 1,063 | |
|
这是在WINDOWS下运行的界面!
![]() |
|
| 第7楼 pizigao | 发表于 2004-01-13 00:00 |
| 银牌会员 发帖 292 积分 1,063 | |
|
有没有一个汉字系统在WINDOWS下能用啊!?
不象下面的情况: ![]() |
|
| 第8楼 pizigao | 发表于 2004-01-14 00:00 |
| 银牌会员 发帖 292 积分 1,063 | |
|
在线等啊!帮帮我!
|
|
| 第9楼 Wengier | 发表于 2004-01-14 00:00 |
| 系统支持 发帖 10,521 积分 27,736 | |
|
既然“以上的操作均是在WIN98、WIN2000下使用,不是在DOS下”,那建议发到论坛的“WIN及其它操作系统专栏”版块中吧。
|
|
| 第10楼 willsort | 发表于 2004-01-14 00:00 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re pizigao:
问题一:可以用FIND加参数/V,例如: FIND /V "JBSB" %temp%\tmp1.txt FIND /V "BAK" %temp%\tmp.txt 问题二:WBAT我是不是很熟,不过他应该支持鼠标点击事件,仔细察看它附带的帮助文档,利用相应的环境变量应该可以解决问题。不过我个人觉得,既然已经决定采用DOS方式解决问题,何必一定要在乎界面呢?利用 CHOICE 让用户输入自己的选择岂不很简单,既没有兼容性的问题,也没有制表符乱码的问题,还少用一个外部程序。 问题三:DREADY 是检测软驱和光驱是否存在和准备的工具,你当然可以不用它,但是你需要预防,它访问到没有光盘的光驱可能存在的致命错误。 |
|
| 第11楼 pizigao | 发表于 2004-01-14 00:00 |
| 银牌会员 发帖 292 积分 1,063 | |
|
willsort大哥!再次打扰!!
麻烦你在空闲之余,把你的思路写个批处理给我参考一下(1、利用 CHOICE 让用户输入自己的选择;2、不用DREADY程序;3、不用WBAT)!我很想学学!在下感激不尽!! |
|
| 第12楼 willsort | 发表于 2004-01-14 00:00 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re pizigao:
你要的程序是如果很急,我会尽快做出答复,只是目前身边没有很好的调试环境,可能至少三天才能收到我的答复,在此预作提醒,以免耽误你的时间。 其实我没有给别人写完整源代码的习惯,往往是一些代码上的原型或者文字上的建议,这样利于思想上的交流和灵感上的互动。所以,如果你真对此很有兴趣,希望你多找些资料,多打些基础知识,循序渐进才是正途。 如果,你仅仅为了解决某个现实问题,我自也乐意提供帮助。论坛上大家都是朋友,没有必要过多使用敬辞,我本人也许比你还小,被称“大哥”实在心有惴惴,以后直呼我名即可。 也许是我为人过于呆板了些,以致让大家有所隔膜,以后注意纠正吧:) |
|
| 第13楼 pizigao | 发表于 2004-01-15 00:00 |
| 银牌会员 发帖 292 积分 1,063 | |
|
willsort,说实话:关于批处理的学习我一直都在继续,由于这个升级程序要的是有点仓促!由于才疏学浅,一直都没有时间把我以前学的东西好好汇总一下,所以只有麻烦您指导一下(我对DOS一直都有着浓厚的兴趣,只不过在有些问题上没有得到高手的指导,能认识您我感到很高兴)!
能否提供一个您的信箱,以方便我们以后交流! 我的信箱是:PIZIGAO@HANGJIAHU.COM 网址 HTTP://PIZIGAO.5188.ORG |
|
| 第14楼 pizigao | 发表于 2004-01-15 00:00 |
| 银牌会员 发帖 292 积分 1,063 | |
|
有几点要求如下:
1、寻找C、D、E、F、G硬盘分区的RIGHTIUM的目录,找到RIGHT目录下的六位数企业编码命名的目录用列表的形式列出来(其中JBSB和BAK不在列表中显示出来) 2、让用户自己选择要打补丁的企业编码(也可以用 CHOICE 让用户输入自己的选择),选择之后,自动运行WINRAR自解压文件(WINDOWS下的),并解压到选择的目录里面!!! |
|
| 第15楼 pizigao | 发表于 2004-01-15 00:00 |
| 银牌会员 发帖 292 积分 1,063 | |
|
提供两家企业的初始化信息和钥匙文件!(附件)
打开附件 安装程序下载地址(31M):http://www.21ei.net/download/E3.20.018.exe 补丁下载地址(1.3M):http://www.21ei.net/download/up021.exe |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |