无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3580|回复: 5
打印 上一主题 下一主题

帮忙看看这段批处理那里不对?

[复制链接]
跳转到指定楼层
1#
发表于 2007-4-19 21:55:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


autoexec.bat内容(片段)
FOR %%a IN (A: C:) DO IF EXIST %%a SET ud=%%a
SET DIRCMD=/OGN /4
SET PROMPT=$P$G
SET HDPMI=16384
SET RAMDRIVE=x:\
XMSDSK 20480 %RAMDRIVE% /y>NUL
PATH=%RAMDRIVE%;%ud%\;%ud%\dos;
COPY %ud%\dos\COMMAND.COM %RAMDRIVE%>NUL
SET COMSPEC=%RAMDRIVE%COMMAND.COM
MD %RAMDRIVE%TEMP
SET TEMP=%RAMDRIVE%TEMP
CD>%TEMP%\BOOTDRV.INI
vol>%TEMP%\VOL.TXT
cls
call w.bat box (+white on +blue) @%ud%\dos\dos.scr:start
if errorlevel 100 goto end
if errorlevel 3 goto end
if errorlevel 2 goto wdos
menu..bat
下面是 menu.bat部分内容:
IF EXIST %RAMDRIVE%dos\gho.bat goto gh
IF NOT EXIST %RAMDRIVE%unzip.exe copy %ud%\dos\unzip.exe %RAMDRIVE%unzip.exe
IF EXIST %ud%\dos\gho.ex_ copy %ud%\dos\gho.ex_ %RAMDRIVE%gho.zip>NUL
PATH=%PATH%;%RAMDRIVE%gho\;
%RAMDRIVE%
cd\
unzip -d gho.zip >nul
del gho.zip >nul
:gh
gho.bat

执行到cd\停止 此时%RAMDRIVE%里有unzip  gho.zip  但就是没解压

在手动解压后;原PATH无效  提示找不到文件(文件在%ud%\dos)


[ 本帖最后由 terse 于 2007-4-20 09:32 AM 编辑 ]
2#
 楼主| 发表于 2007-4-20 09:32:58 | 只看该作者
FOR %%a IN (A: C:) DO IF EXIST %%a SET ud=%%a
怎么会 %ud% 为空啊?
回复

使用道具 举报

3#
发表于 2007-4-20 09:45:40 | 只看该作者
试了一下,发现你的 (A: C:) 有问题,改成(A: C:)。
你用的是全角的。
回复

使用道具 举报

4#
发表于 2007-4-20 11:53:32 | 只看该作者
IF EXIST %RAMDRIVE%dos\gho.bat goto gh
IF NOT EXIST %RAMDRIVE%\unzip.exe copy %ud%\dos\unzip.exe %RAMDRIVE%\unzip.exe
IF EXIST %ud%\dos\gho.ex_ copy %ud%\dos\gho.ex_ %RAMDRIVE%\gho.zip>NUL
PATH=%PATH%;%RAMDRIVE%\gho\;
%RAMDRIVE%
cd\
unzip -d gho.zip >nul
del gho.zip >nul
:gh
gho.bat



对目录结构不清晰的情况下,不要使用相对路径,要么加上\做绝对路径,要么去掉CD\都可以
回复

使用道具 举报

5#
 楼主| 发表于 2007-4-20 18:39:48 | 只看该作者
原帖由 magictek 于 2007-4-20 11:53 AM 发表
IF EXIST %RAMDRIVE%dos\gho.bat goto gh
IF NOT EXIST %RAMDRIVE%\unzip.exe copy %ud%\dos\unzip.exe %RAMDRIVE%\unzip.exe
IF EXIST %ud%\dos\gho.ex_ copy %ud%\dos\gho.ex_ %RAMDRIVE%\gho.zip>NUL
PA ...

谢谢回复!
不知道为什么;现在看来问题出在FOR %%a IN (A: C:) DO IF EXIST %%a SET ud=%%a上!
现在换下面的  OK !:
if %comspec%==A:\CONFIG.SYS goto next|set ud=A:
if %comspec%==C:\CONFIG.SYS goto next|set ud=C:
还没有在U盘启动是A的情况下试;现在U盘启动DOS被认C:   现在  %ud% =C:  不象原来的为空了
回复

使用道具 举报

6#
发表于 2007-4-21 12:14:00 | 只看该作者
恭喜解决了。
顶一下。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-24 14:57

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表