中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » 请高手帮忙看一下DOS下运行批处理问题!
« [1] [2] »
作者:
标题: 请高手帮忙看一下DOS下运行批处理问题! 上一主题 | 下一主题
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『楼 主』:  请高手帮忙看一下DOS下运行批处理问题!

我的U盘GHO目录里有个GHOST批处理,其中有段选择盘符后就可以搜索GHO文件的处理码,进入U盘GHO目录里手动运行GHOST批处理后在搜不到GHO文件后会自动返回选择界面,但是如果我在U盘根目录下的MENU.bat文件里 CALL 运行GHO目录的GHOST批处理的话,就会在搜索不到GHO文件的时候出来个空的文件选择,这不是我想要的,我想的就是如果没有就返回选择界面!上面图是选择界面,下面的是不应该出来的,我想要的是如果没有搜索到GHO文件就回到上面图的界面的!进GHO目录运行的话下面的图就是和上图一样!

[ Last edited by terse on 2007-2-1 at 08:37 AM ]

2007-2-1 08:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 2 楼』:  

一看就是用wbat做的菜单,你直接从上级目录call目标的批处理,有可能目标批处理生成的需要用到的临时文件不在需要的目录下,看一下对方的批处理是如何编写的吧。这绝对属于批处理编写有问题。

两种运行情况的唯一区别就是当前目录不同。



偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2007-2-1 22:31
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 3 楼』:  

是的  是用wbat做的菜单  至于目录问题我想也就是TEMP目录  我在U盘的根目录创建一个也不行!(用cd gho 正常的)
我贴上那段搜索码 帮看一下  总是遇见Climbing的帮助  在时空论坛的也是你吧  谢了!
:rec2
echo :d_list " 选择备份文件的所在盘 "[x]>%temp%\tmp.txt
func -a9 >>%temp%\tmp.txt
call w.bat list (+white on +blue) @%temp%\tmp.txt:d_list
if errorlevel 100 goto rec1
if "%wbat%"=="" goto rec1
set gpath=%wbat%:\

echo 正在搜索 %gpath% 备份文件 ...
echo :m_dir " 选择需要恢复的备份文件 " [x]>%temp%\tmp.txt
dir %gpath%ghost\*.gho /b /s >>%temp%\tmp.txt
call w.bat list (+white on +blue) @%temp%\tmp.txt:m_dir
if errorlevel 100 goto rec2
if "%wbat%"=="" goto rec2
set gfile=%wbat%

2007-2-2 04:54
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 4 楼』:  

寻求高手帮助 谢!

2007-2-5 02:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
llztt1
中级用户





积分 214
发帖 94
注册 2007-1-11
状态 离线
『第 5 楼』:  

func -a9 >>%temp%\tmp.txt
能得出所有盘符么??
不错的啊,可否共享一下FUNC这个程序或批处理??

2007-2-5 12:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
llztt1
中级用户





积分 214
发帖 94
注册 2007-1-11
状态 离线
『第 6 楼』:  

哦,对于这个自动搜索.GHO的批处理有些怀疑实用性。。
1、现在估计没几个人还用FAT32吧,为了实现这个批处理,得加载NTFSDOS,生成必要信息文件后再退出NTFSDOS,对于NTFSDOS对中文支持很差,如果路径中有中文。。。IFSDRV中文支持不错,不过我用了WEN老大的修改版,如果读取过NTFS区数据后就不能正常退出了。。
2、一般备份文件是隐藏属性的,DIR /S倒是可以搜索隐藏属性文件,可惜如果文件在隐藏目录中,就无法搜到了,所以这样看来实用性大打折扣。

当然如果非有人说我就用FAT32或用NTFS时就用英文路径和文件名,而且就不隐藏备份文件,那倒好了。

不好意思这里跑题了哈,呵呵,只是我现在也在计划做个启动盘,包含单机GHOST批处理、加载网卡驱动网络GHOST批处理等等,最后考虑再三放弃了全盘搜索功能。。

2007-2-5 12:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 7 楼』:  



  Quote:
Originally posted by llztt1 at 2007-2-5 12:09:
func -a9 >>%temp%\tmp.txt
能得出所有盘符么??
不错的啊,可否共享一下FUNC这个程序或批处理??

http://terse.ys168.com/
这里传不了  我传到那了

RE:llztt1
没别的用途  只是喜欢瞎捣鼓  我上班空的时候看看  也不帮别人整机器  有时候朋友的机器看一下  呵呵!希望你的做出后  看一下?如何呢?

[ Last edited by terse on 2007-2-5 at 02:00 PM ]

2007-2-5 13:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
llztt1
中级用户





积分 214
发帖 94
注册 2007-1-11
状态 离线
『第 8 楼』:  

回头修改一下MAXDOS的BAT,MAXDOS做的不错了,修改一下更合理些,譬如单机GHOST、PACKT网卡驱动》》生成WATTCP文件》》生成GHOST命令行》》选择GHOST版本启动GHOST,再做几个调用这些BAT的BAT,譬如实现无选择界面按默认参数运行。。
哈哈,你发的这个FUNC真如其名功能够多。。

Usage:FUNC <option>
                                       PKMASTER 2003-03-14 Email:bootcd@163.com
Option:
These functions returns errorlevel 1~26 (count) or 255 (error):
    -a<style>      style=6 or 9 ; Print Drives Letters

These functions returns errorlevel 0 (succeed) or 255 (failed):
    -e[drive]      drive=A to Z ; Eject CDROM drive (Default first CDROM)
    -l[drive]      drive=A to Z ; Load CDROM drive (Default first CDROM)
    -x[drive]      drive=A to Z ; Auto Eject/Load CDROM (Default first CDROM)
    -j             Find MENU.INI in CDROM Drives
    -v             Reset video mode to 80x25 normal text mode
    -m             Initialize mouse and set cursor in the center of screen
    -n             Initialize mouse and set cursor in the (0,0) of screen
    -r             Reboot computer
    -s             Shutdown computer

These functions returns errorlevel 0 (true) or 100 (false):
    -d<drive>      drive=A to Z ; Check whether the drive is a CDROM or not
    -i<var>        Check whether the var(MaxLen=8) is a numeric or not
    -f<var>        Check whether the var(MaxLen=8) is a correct filename or not
    -w<seconds>    seconds=0 to 9999 ; Wait some seconds. Returns keycode
    ?<string>      Print string without newline

2007-2-5 14:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
0451lym
高级用户





积分 760
发帖 357
注册 2005-10-10
状态 离线
『第 9 楼』:  



  Quote:
Originally posted by llztt1 at 2007-2-5 12:26:
哦,对于这个自动搜索.GHO的批处理有些怀疑实用性。。
...

呵呵,为什么?
你的怀疑不是不对,不过我在3个月前动了不少的脑筋,想了不少的办法,现在早就可以全盘自动搜索,全盘自动还原(不论是什么NTFS)都可以!

不过我的代码就不放出来了,说来很简单........

1、必须自动多硬盘搜索
2、必须能转化为X:Y\ 的形式

2007-2-6 10:54
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
llztt1
中级用户





积分 214
发帖 94
注册 2007-1-11
状态 离线
『第 10 楼』:  

呵呵,倒是愿闻其祥,怎么不再深入说一下?
1、你的具体搜索命令用的DIR /S否??如果是,怎么解决搜索在隐藏目录下的隐藏文件的问题??还有DOS访问NTFS区用的哪个驱动命令??
2、X:Y\形式,针对什么来说的哦??呵呵,不解

从另个角度考虑,譬如我们在WINDOWS下搜索某个文件,如果硬盘数据比较多,那搜索的时间可就长了,遇见搜个10分钟很正常。。

2007-2-6 11:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
0451lym
高级用户





积分 760
发帖 357
注册 2005-10-10
状态 离线
『第 11 楼』:  



  Quote:
Originally posted by llztt1 at 2007-2-6 11:40:
呵呵,倒是愿闻其祥,怎么不再深入说一下?
1、你的具体搜索命令用的DIR /S否??如果是,怎么解决搜索在隐藏目录下的隐藏文件的问题??还有DO ...

呵呵,第1点是用的一个外部命令DIRT,可以解决你的第1个问题
第2点是重点

把盘符变成GHOST识别的1:2或者是1:4或者是2:1的形式!
既然挂上NT驱动可以找到文件,那么就好办了!(中间不用卸掉NT驱动)
例如:
找到的是C:\A.GHO
那么可以用两一个外部命令去试探的找1.2:\A.GHO
找不到在找1.3:\A.GHO等等
找到后就可以用变量引入命令中执行即可!


第2个命令自己找找吧,老运动员都知道是什么命令的!

2007-2-6 12:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
0451lym
高级用户





积分 760
发帖 357
注册 2005-10-10
状态 离线
『第 12 楼』:  

因为DIRT可以设置搜索目录的深度,所以时间是可以限制的,一般不会把镜像文件放到2层目录以下(不排除少数人).因此时间不是问题.而且还可以设置变量来修改搜索目录的层数,这样默认是快速搜索,这样少数人可以自己去修改自己搜索的深层目录!
啊,跟绕口令似的!呵呵

2007-2-6 12:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
0451lym
高级用户





积分 760
发帖 357
注册 2005-10-10
状态 离线
『第 13 楼』:  

:AUTOEXEC " 我的镜像恢复系统 → 06.12.03"

※※※※※※※※※※※※※※※※※※※※※※
※                                        ※
※        [!   加 载 光 驱 驱 动 ]        ※
※                                        ※
※        [!   加 载 ^NTFS 驱 动 ]        ※
※                                        ※
※※※※※※※※※※※※※※※※※※※※※※

"TAB"键=跳转  "空格键"=选中  "Esc"键=刷新

   [Y →系统桌面←]     [N →DOS命令行←]

::
:BF_0 " 我的镜像恢复系统 → 备份 %FQ% 盘!" [x]


  [X 向导]

  第 %S1% 硬盘 → 第 %S2% 分区

  备份到

  第 [$D1,1] 硬盘 → 第 [$D2,1] 分区   


  警告:"确定立即备份"将覆盖同名镜像备份,无法恢复!
___________________________________________________________

         "TAB"键=跳转  "F1~F2"=覆盖  "←"键=删除

     [ Y →确定立即备份← ]    [? Esc→返回系统桌面← ]

::
:BF_1 " 我的镜像恢复系统 → 备份 %FQ% 盘 → 向导Ⅰ" [x]


  镜像备份到

           [ A. 第 1 硬盘 ]     [ B. 第 2 硬盘 ]

       [ 第 &1 分区 ]   [ 第 &2 分区 ]   [ 第 &3 分区 ]

       [ 第 &4 分区 ]   [ 第 &5 分区 ]   [ 第 &6 分区 ]
                                                     
  提示:镜像备份到第 %D1% 硬盘 → 第 %D2% 分区! [S. 手动设置]
___________________________________________________________

    [ F → 返回上级菜单← ]     [? Esc→返回系统桌面← ]

::
:BF_2 " 我的镜像恢复系统 → 备份 %FQ% 盘 → 向导Ⅱ" [x]


  确认 %FQ% 盘位置

           [ A. 第 1 硬盘 ]     [ B. 第 2 硬盘 ]

       [ 第 &1 分区 ]   [ 第 &2 分区 ]   [ 第 &3 分区 ]

  提示:第 %S1% 硬盘 → 第 %S2% 分区为 %FQ% 盘!
                                                     
  提示:镜像备份到第 %D1% 硬盘 → 第 %D2% 分区! [Y. 确定更改]
___________________________________________________________

    [ F → 返回上级菜单← ]     [? Esc→返回系统桌面← ]

::
:GJBF_0 " 我的镜像恢复系统 → 高级备份!" [x]

  第[$S1,1]硬盘第[$S2,1]分区

  备份到

  第 [$D1,1]硬盘第 [$D2,1]分区:\[$WJ,30,U,   ].gho  [ ※显示默认名称 ]

  若填写镜像名称须符合8.3格式,并注意镜像路径是否存在!
____________________________________________________________

  压缩: [$YS,1] 级     (低压缩速度快1↓~~↑9高压缩速度慢)

  分卷: [$FJ,4,U,] MB  ("0"表示不分卷,CD刻录镜像建议为"600"MB)

    [ ※填写密码保护 ]   密码:(%M%)   [ ※取消密码保护 ]

  警告:"确定立即备份"将覆盖同名镜像备份,无法恢复!
____________________________________________________________

            TAB键=跳转  F1~F2=覆盖  "←"键=删除

     [ Y →确定立即备份← ]     [? Esc→返回系统桌面← ]

::
:GJBF_1 " 填写密码保护"[x]

输入密码: [$MM,10,P!  ]

确认密码: [$MM1,10,P!  ]      

提示: 1. Alt+F2 = 拼音输入.
          Alt+F6 = 英文输入.

       2. 最多允许输入10个字符.
         
       3. ESC键 = 取消密码保护.
        
          [ ※确定 ]

::
:GJBF_2 " 密码错误 !"[x]

密码两次输入不一致!

       [ 确定 ]

::
:HF_0 " 我的镜像恢复系统 → 恢复 %FQ% 盘!" [x]


  我要恢复

  第 %S1% 硬盘 → 第 %S2% 分区

  [X 选择镜像]

  第 [$D1,1] 硬盘 → 第 [$D2,1] 分区:[$WJ,30,U,   ].gho


  警告:系统上若有重要数据请自行处理,镜像还原后系统将归档!
___________________________________________________________

         "TAB"键=跳转  "F1~F2"=覆盖  "←"键=删除

     [ Y →确定立即恢复← ]    [? Esc→返回系统桌面← ]

::
:HF_1 " 我的镜像恢复系统 → 恢复 %FQ% 盘 → 选择镜像" [x]


  请按序号来选择镜像
  __________________

  [ 1]%WJ1%
  [ 2]%WJ2%
  [ 3]%WJ3%
  [ 4]%WJ4%
  [ 5]%WJ5%
  [ 6]%WJ6%
  [ 7]%WJ7%
  [ 8]%WJ8%
  [ 9]%WJ9%
  [1&0]%WJ10%

  提示:加载 NTFS 驱动后,可支持 NTFS 分区搜索!
___________________________________________________________


    [ F → 返回上级菜单← ]    [? Esc→返回系统桌面← ]

::
:HF_2 " 我的镜像恢复系统 → 恢复 %FQ% 盘!" [x]


  "%WJ%"

  恢复到

  第 %S1% 硬盘 → 第 %S2% 分区


  警告:系统上若有重要数据请自行处理,镜像还原后系统将归档!
___________________________________________________________

                   "Esc"=返回系统桌面  

     [ F → 返回上级菜单← ]    [ Y →确定立即恢复← ]

::
:HF_3 " 镜像搜索结果!"[x]

没有搜索到 GHO 镜像!

      [ 确定 ]

::

2007-2-6 12:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
0451lym
高级用户





积分 760
发帖 357
注册 2005-10-10
状态 离线
『第 14 楼』:  

这是我其中的一部分,你看看就知道了,我不是骗人的了.现写是写不出这么多的!
所以,多考虑考虑,多想一想吧.
我为什么不放出代码,是因为现在所有的GHOST恢复软件都没有这个功能,呵呵!丰收的喜悦还是留给多思考的人吧!

2007-2-6 12:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
llztt1
中级用户





积分 214
发帖 94
注册 2007-1-11
状态 离线
『第 15 楼』:  

试验了一下DIRT,比较强悍的说,能搜索中文目录,隐藏目录下的文件,加上限制搜索子目录深度功能,确实很带劲。。
楼上是喜欢动脑筋搞研究的,不知有兴趣把BART的网络启动盘整合到7.1中,BART的盘使用了他那个模板,那批处理还真是难搞,我在看MAXDOS的网刻盘,不过MAXDOS的加载网卡驱动有3个驱动限制在CONFIG.SYS里了,不带劲,BART的盘就没有这限制,自动加载网卡驱动+生成MSNET的必要文件都是在批处理中完成的。。
如果通过简单添加个集成多网卡驱动的目录和批处理,就能在纯DOS下通过这个批处理实现自动加载网卡驱动,就好了

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


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



论坛跳转: