|
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 |
|
|
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
状态 离线
|
|
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 |
|