807979023 发表于 2017-8-14 13:59 谢谢!!! |
有阴也有阳 发表于 2017-8-14 12:41 你这个仍然是安装版,只是未打包,安装文件就是install.cmd。 你这个install.cmd太复杂我没看懂,简化后可实现安装完后直接自动装载win.iso。 install.cmd: rundll32 setupapi.dll,InstallHinfSection DefaultInstall 132 .\imdisk.inf net start imdsksvc net start awealloc net start imdisk imdisk -a -f d:\win.iso -m z: 加载iso.cmd: imdisk -a -f d:\win.iso -m z: 卸载iso.cmd: imdisk -d -m z: |
807979023 发表于 2017-8-14 11:20 是不用安装的IMDISK地绿色版。 还有一个问题——如何在安装命令之后加上这一句让IMDISK直接自动加载win.iso? IMDISK的安装命令——install.cmd: @echo off setlocal title ImDisk 虚拟磁盘驱动器安装程序 echo ImDisk 虚拟磁盘驱动器安装程序 echo. set IMDISK_TOTAL_DEVICES=0 set IMDISK_VALID_DEVICES=0 set IMDISK_PENDING_REMOVAL_DEVICES=0 if exist "%SystemRoot%\system32\imdisk.exe" ( for /f %%a in ('imdisk -l -n ^| find /v /i ^"No^"') do call :addline "%%a" ) if %IMDISK_VALID_DEVICES% GTR 0 ( echo 已加载的 ImDisk 虚拟磁盘数量: %IMDISK_VALID_DEVICES% echo. if "%IMDISK_SILENT_SETUP%" == "1" ( echo 请在升级前弹出所有 ImDisk 虚拟磁盘 ! echo. ) else ( msgboxw "请在升级前弹出所有 ImDisk 虚拟磁盘 !" 16 "ImDisk-虚拟磁盘驱动器安装程序" start control imdisk.cpl ) endlocal goto :eof ) echo 已加载的 ImDisk 虚拟磁盘数量: %IMDISK_TOTAL_DEVICES% echo. if %IMDISK_TOTAL_DEVICES% == 0 ( net stop imdsksvc net stop awealloc net stop imdisk if exist "%SystemRoot%\system32\taskkill.exe" taskkill /F /IM imdsksvc.exe ) pushd "%~dp0" rundll32 setupapi.dll,InstallHinfSection DefaultInstall 132 .\imdisk.inf popd if errorlevel 1 ( if not "%IMDISK_SILENT_SETUP%" == "1" msgboxw "安装失败。请重启计算机后再次尝试运行本程序。" 16 "ImDisk-虚拟磁盘驱动器安装程序" endlocal goto :eof ) set IMDISK_START_FAILED=1 if %IMDISK_TOTAL_DEVICES% == 0 ( set IMDISK_START_FAILED=0 net start imdsksvc || set IMDISK_START_FAILED=1 net start awealloc || set IMDISK_START_FAILED=1 net start imdisk || set IMDISK_START_FAILED=1 ) if not "%IMDISK_SILENT_SETUP%" == "1" ( if %IMDISK_START_FAILED% == 0 ( msgboxw "安装成功。您可以在控制面板中打开 ImDisk 虚拟磁盘驱动器或使用 imdisk 命令行来管理您的虚拟磁盘!" 0 "ImDisk-虚拟磁盘驱动器安装程序" ) else ( msgboxw "安装完成, 但驱动程序或服务无法运行。请重启计算机后再次尝试运行本程序。" 16 "ImDisk-虚拟磁盘驱动器安装程序" ) ) endlocal goto :eof :addline imdisk -l -u %~1 > nul 2>&1 if errorlevel 1 ( set /a IMDISK_PENDING_REMOVAL_DEVICES=%IMDISK_PENDING_REMOVAL_DEVICES% + 1 > nul ) else ( set /a IMDISK_VALID_DEVICES=%IMDISK_VALID_DEVICES% + 1 > nul ) set /a IMDISK_TOTAL_DEVICES=%IMDISK_TOTAL_DEVICES% + 1 > nul goto :eof 在哪儿加上这一句:imdisk.exe -a -f U:\win.iso -m z: 应该如何加?让其在安装完IMDISK后直接自动装载win.iso? |
这个东西有驱动和注册表支持,需要初始化才可以使用。 |
本帖最后由 有阴也有阳 于 2017-8-14 10:07 编辑 23456 发表于 2017-8-14 07:04 新的将U改成D: D:\IMDISK\imdisk.exe -a -f 或 D:\IMDISK\imdisk-a -f 执行时仍然提示:“既不是内部命令,也不是外部命令”,无法正常执行。 就是最开始的那个执行良好,谢谢!!! |
有阴也有阳 发表于 2017-8-14 01:52 这个提示都是路径不对 |
23456 发表于 2017-8-13 19:35 原来的: @echo off imdisk -a -f D:\A-IMDISK\awin.iso -m z: pause 成功运行。(D盘就是U盘——在虚拟机里做磁盘。) 新的: U:\IMDISK\imdisk.exe -a -f 或 U:\IMDISK\imdisk-a -f 执行时提示:“既不是内部命令,也不是外部命令”,无法正常执行。 |
23456 发表于 2017-8-13 19:35 谢谢!!!实测可用! |
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.