中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助] 帮我看下为何这条语句没起到效果?
作者:
标题: [求助] 帮我看下为何这条语句没起到效果? 上一主题 | 下一主题
NaturalJ0
银牌会员




积分 1181
发帖 533
注册 2006-8-14
状态 离线
『楼 主』:  [求助] 帮我看下为何这条语句没起到效果?

本人自己也学着做了个自动GHOST。但在使用中发现个小问题。

ghost.exe -clone,mode=pdump,src=1:%src%,dst=1:%dst%:\Image.gho -span -auto -z9 -fx -sure
for %%i in (c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do if exist %%i:\Image.gho attrib +s +r +h %%i:\Image.gho>nul
GOTO RESET

:RESET
RESTART.COM
GOTO END

:END


第一句是根据前面的变量自动为某盘做了个 GHOST 镜像。
每次都成功,没有问题。
第二句我是想把做成的镜像的文件属性改一下。但又无法确定盘符,所以写了个 FOR 想把在所有分区上都找一下,找到就改属性。
第三句,是我搞到的一个小程序,运行后,就重启了。

我运行后的结果是,重启后,发现文件属性没有修改成功。
我试了把第三句去掉,或者在第二句和第三句中间加条 PAUSE 语句。这两种方法文件属性都能修改成功。但却不能紧接着自动重启了。
我不知道为什么原来的语句修改不成功。难道下面的 RESTART.COM 在 FOR 之前运行了?这可能么?

另一个小问题就是,因为我每个盘都查了下有没 Image.gho 但一查到光驱就会停下,不得以,我在启动时没开光驱。有什么好办法么?

主要是问第一个问题,第二个不是太重要,反正不加载光驱,GHOST 也能认。
向各位求教了。

[ Last edited by NaturalJ0 on 2006-8-18 at 00:29 ]

2006-8-18 00:14
查看资料  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 2 楼』:  

  for %%i in (c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z)改成for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z)

  以上修改并非解决问题的办法,而且两条语句的效果是等效的,以前没察觉到,以为是解决问题的所在,现在回头再看,才知道自己的草率。

[ Last edited by namejm on 2006-8-18 at 01:16 ]



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-8-18 00:22
查看资料  发短消息 网志   编辑帖子  回复  引用回复
NaturalJ0
银牌会员




积分 1181
发帖 533
注册 2006-8-14
状态 离线
『第 3 楼』:  

对不起,打到一半时,不小心按到 Ctrl + Enter ,还没打完就发出一半来。

2006-8-18 00:23
查看资料  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 4 楼』:  

  最开始我还以为你发帖子耍的呢,呵呵。

[ Last edited by namejm on 2006-8-18 at 01:17 ]



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-8-18 00:43
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 5 楼』:  

补充一点:
改成for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z)也未必起效!

因为ghost参数dst=1:%dst%:\Image.gho 是以盘号备份的,如目标.gho是NTFS格式if exist C:~Z:也无法判断的,所以for语句前有必要加载NTFS驱动的

2006-8-18 00:46
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
NaturalJ0
银牌会员




积分 1181
发帖 533
注册 2006-8-14
状态 离线
『第 6 楼』:  

加载了,之前有 NTFS 驱动。

2006-8-18 00:47
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: