无忧启动论坛

标题: 请高人帮忙给修改两个批处理文件 [打印本页]

作者: 有阴也有阳    时间: 2014-12-22 16:08
标题: 请高人帮忙给修改两个批处理文件
本帖最后由 有阴也有阳 于 2014-12-22 16:12 编辑

这是一个在光盘中运行的一个IMG文件,其批处理文件如下:

第一个批处理文件——AUTOEXEC.BAT:
@ECHO OFF
SHSUCDX /D:?MSCD001
findcd /s>nul
call findcdr "ghost.exe" C D E F G H I J K L M N O P Q R S T U V W X Y Z
ctmouse
%CDROM%:
ghost -nousb -clone,mode=load,src=HD4.gho,dst=1 -fx -rb

第二个批处理文件——FINDCDR.BAT:
@echo off
set file=%1
:FCDR
if "%CDROM1%"=="%2:" goto SCDR
shift
goto FCDR
:SCDR
cda %2:>nul
IF errorlevel 1 goto next
if not exist %2:\%FILE% goto next
set cdrom=%2
goto end
:next
if "%2"=="Z" goto end
shift
goto SCDR
:end

我想通过修改这两个批处理文件之后,使原来在光盘中运行的IMG文件能在启动U盘中运行,不知可行否?如可行的话,请高人帮忙给修改一下。

作者: wusun    时间: 2014-12-22 22:26
请自行做相应修改:FindAndRun.bat
  1. @echo off
  2. set File_Path_From_Root=\ghost.exe
  3. set Cmd_And_Param=ghost -nousb -clone,mode=load,src=HD4.gho,dst=1 -fx -rb

  4. :Find_Drive
  5. set DriveList=A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
  6. set TheDrive=NotFound
  7. for %%i in (%DriveList%) do (
  8. if exist "%%i:%File_Path_From_Root%" set TheDrive=%%i&goto :Check_If_File_Availabe
  9. )

  10. :Check_If_File_Availabe
  11. if %TheDrive%==NotFound (echo %File_Path_From_Root% is not found!&goto :Exit) else (goto :RunTheFile)

  12. :RunTheFile
  13. set File_Full_Path=%TheDrive%:%File_Path_From_Root%
  14. for /f "delims=" %%i in ("%File_Full_Path%") do cd /d "%%~dpi"
  15. %Cmd_And_Param%
  16. goto EXIT


  17. :Exit
复制代码

作者: 有阴也有阳    时间: 2014-12-23 02:59
wusun 发表于 2014-12-22 22:26
请自行做相应修改:FindAndRun.bat

万分感谢您的帮助!!!谢谢!!!无奈我是小白,FindAndRun.bat我自己不会修改,可否麻烦您抽空再帮我把FindAndRun.bat给修改一下,给您添麻烦了,谢谢!!!
作者: wusun    时间: 2014-12-23 03:36
本帖最后由 wusun 于 2014-12-25 05:25 编辑

发现FindAndRun.bat中,有些批次指令DOS不支援,故从原档修改如下:
AUTOEXEC.BAT
@ECHO OFF
SHSUCDX /D:?MSCD001
call findcdr.bat "ghost.exe" C D E F G H I J K L M N O P Q R S T U V W X Y Z 0
if "%CDROM%"=="0" goto :end
ctmouse
%CDROM%:
ghost -nousb -clone,mode=load,src=HD4.gho,dst=1 -fx -rb

:end

FINDCDR.BAT
@echo off
set FILE=%1
:FCDR
set CDROM=%2
if exist "%CDROM%:\%FILE%" goto :end
shift
if "%2"=="0" goto :File_Not_Found
goto :FCDR

:File_Not_Found
set CDROM=%2
echo %FILE% is not found!

:end





欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3