中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [急][求助]请各位路过的大哥给小弟一个指导!
« [1] [2] »
作者:
标题: [急][求助]请各位路过的大哥给小弟一个指导! 上一主题 | 下一主题
pizigao
银牌会员

三生缘里笑红尘


积分 1063
发帖 292
注册 2003-3-9
状态 离线
『楼 主』:  [急][求助]请各位路过的大哥给小弟一个指导!

引言:我所在的单位是负责开发报税软件的,在升级过程(主要是下载补丁的形式,是用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下,欢迎大家提建议!
以下是我未完成的批处理文件,请各位大哥指导一下!再次感谢!







[此贴子已经被作者于2004-1-13 10:28:47编辑过]






2004-1-13 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pizigao
银牌会员

三生缘里笑红尘


积分 1063
发帖 292
注册 2003-3-9
状态 离线
『第 2 楼』:  

@echo off
cls
REM 检测硬盘企业编码的文件夹所在的位置和文件夹!
:_hd
rem updata
echo.
echo.
echo :m_dir " 选择需要升级企业编码的文件夹 " [X]>%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



2004-1-13 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pizigao
银牌会员

三生缘里笑红尘


积分 1063
发帖 292
注册 2003-3-9
状态 离线
『第 3 楼』:  

以上的批处理还有很多地方不完善,还请大家一一指正!



2004-1-13 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tdj
银牌会员

论坛候鸟


积分 1131
发帖 332
注册 2003-11-27
状态 离线
『第 4 楼』:  

To:pizigao
呵呵。
[em09]

[此贴子已经被作者于2004-1-13 9:51:10编辑过]




2004-1-13 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pizigao
银牌会员

三生缘里笑红尘


积分 1063
发帖 292
注册 2003-3-9
状态 离线
『第 5 楼』:  

[em27][em27][em27]

[此贴子已经被作者于2004-1-14 8:21:41编辑过]






2004-1-13 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pizigao
银牌会员

三生缘里笑红尘


积分 1063
发帖 292
注册 2003-3-9
状态 离线
『第 6 楼』:  

这是在WINDOWS下运行的界面!



[此贴子已经被作者于2004-1-13 10:34:16编辑过]






2004-1-13 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pizigao
银牌会员

三生缘里笑红尘


积分 1063
发帖 292
注册 2003-3-9
状态 离线
『第 7 楼』:  

有没有一个汉字系统在WINDOWS下能用啊!?
不象下面的情况:




2004-1-13 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pizigao
银牌会员

三生缘里笑红尘


积分 1063
发帖 292
注册 2003-3-9
状态 离线
『第 8 楼』:  

在线等啊!帮帮我!



2004-1-14 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Wengier
系统支持

“新DOS时代”站长


积分 27734
发帖 10521
注册 2002-10-9
状态 离线
『第 9 楼』:  

既然“以上的操作均是在WIN98、WIN2000下使用,不是在DOS下”,那建议发到论坛的“WIN及其它操作系统专栏”版块中吧。



Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2004-1-14 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (29206679)  编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 10 楼』:  

Re pizigao:

    问题一:可以用FIND加参数/V,例如:

    FIND /V "JBSB"  %temp%\tmp1.txt
    FIND /V "BAK"  %temp%\tmp.txt

    问题二:WBAT我是不是很熟,不过他应该支持鼠标点击事件,仔细察看它附带的帮助文档,利用相应的环境变量应该可以解决问题。不过我个人觉得,既然已经决定采用DOS方式解决问题,何必一定要在乎界面呢?利用 CHOICE 让用户输入自己的选择岂不很简单,既没有兼容性的问题,也没有制表符乱码的问题,还少用一个外部程序。

    问题三:DREADY 是检测软驱和光驱是否存在和准备的工具,你当然可以不用它,但是你需要预防,它访问到没有光盘的光驱可能存在的致命错误。




※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2004-1-14 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pizigao
银牌会员

三生缘里笑红尘


积分 1063
发帖 292
注册 2003-3-9
状态 离线
『第 11 楼』:  

willsort大哥!再次打扰!!
麻烦你在空闲之余,把你的思路写个批处理给我参考一下(1、利用 CHOICE 让用户输入自己的选择;2、不用DREADY程序;3、不用WBAT)!我很想学学!在下感激不尽!!

[此贴子已经被作者于2004-1-15 11:42:59编辑过]






2004-1-14 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 12 楼』:  

Re pizigao:

    你要的程序是如果很急,我会尽快做出答复,只是目前身边没有很好的调试环境,可能至少三天才能收到我的答复,在此预作提醒,以免耽误你的时间。

    其实我没有给别人写完整源代码的习惯,往往是一些代码上的原型或者文字上的建议,这样利于思想上的交流和灵感上的互动。所以,如果你真对此很有兴趣,希望你多找些资料,多打些基础知识,循序渐进才是正途。

    如果,你仅仅为了解决某个现实问题,我自也乐意提供帮助。论坛上大家都是朋友,没有必要过多使用敬辞,我本人也许比你还小,被称“大哥”实在心有惴惴,以后直呼我名即可。

    也许是我为人过于呆板了些,以致让大家有所隔膜,以后注意纠正吧:)



[此贴子已经被作者于2004-1-14 18:02:00编辑过]






※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2004-1-14 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pizigao
银牌会员

三生缘里笑红尘


积分 1063
发帖 292
注册 2003-3-9
状态 离线
『第 13 楼』:  

willsort,说实话:关于批处理的学习我一直都在继续,由于这个升级程序要的是有点仓促!由于才疏学浅,一直都没有时间把我以前学的东西好好汇总一下,所以只有麻烦您指导一下(我对DOS一直都有着浓厚的兴趣,只不过在有些问题上没有得到高手的指导,能认识您我感到很高兴)!
能否提供一个您的信箱,以方便我们以后交流!
我的信箱是:PIZIGAO@HANGJIAHU.COM
网址 HTTP://PIZIGAO.5188.ORG



2004-1-15 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pizigao
银牌会员

三生缘里笑红尘


积分 1063
发帖 292
注册 2003-3-9
状态 离线
『第 14 楼』:  

有几点要求如下:
1、寻找C、D、E、F、G硬盘分区的RIGHTIUM的目录,找到RIGHT目录下的六位数企业编码命名的目录用列表的形式列出来(其中JBSB和BAK不在列表中显示出来)
2、让用户自己选择要打补丁的企业编码(也可以用 CHOICE 让用户输入自己的选择),选择之后,自动运行WINRAR自解压文件(WINDOWS下的),并解压到选择的目录里面!!!


[此贴子已经被作者于2004-1-15 11:29:19编辑过]






2004-1-15 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pizigao
银牌会员

三生缘里笑红尘


积分 1063
发帖 292
注册 2003-3-9
状态 离线
『第 15 楼』:  

提供两家企业的初始化信息和钥匙文件!(附件)
打开附件
安装程序下载地址(31M):http://www.21ei.net/download/E3.20.018.exe
补丁下载地址(1.3M):http://www.21ei.net/download/up021.exe



2004-1-15 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: