无忧启动论坛

 找回密码
 注册
搜索

求一个批处理——用IMDISK虚拟磁盘加载ISO文件

查看数: 8989 | 评论数: 11 | 收藏 7
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-8-13 16:52

正文摘要:

本帖最后由 有阴也有阳 于 2017-8-14 19:04 编辑         求一个批处理——用IMDISK虚拟磁盘加载ISO文件。         批处理运行后自动用IMDISK虚 ...

回复

有阴也有阳 发表于 2017-8-14 16:43:03
807979023 发表于 2017-8-14 13:59
你这个仍然是安装版,只是未打包,安装文件就是install.cmd。
你这个install.cmd太复杂我没看懂,简化后 ...

谢谢!!!
807979023 发表于 2017-8-14 13:59:26
有阴也有阳 发表于 2017-8-14 12:41
是不用安装的IMDISK地绿色版。

还有一个问题——如何在安装命令之后加上这一句让IMDISK直接自动加载wi ...

你这个仍然是安装版,只是未打包,安装文件就是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:

点评

在原安装CMD命令中已经成功加入加载U盘根目录下的win.iso命令: 一: [attachimg]351534[/attachimg] 二: [attachimg]351535[/attachimg]  详情 回复 发表于 2017-8-14 17:22
谢谢!!!  详情 回复 发表于 2017-8-14 16:43
有阴也有阳 发表于 2017-8-14 12:41:21
807979023 发表于 2017-8-14 11:20
IMDISK不是需要先安装吗?
安装后应该不需要imdisk.exe旳路径 ,
imdisk.exe -a -f U:\win.iso -m z:

是不用安装的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?

点评

你这个仍然是安装版,只是未打包,安装文件就是install.cmd。 你这个install.cmd太复杂我没看懂,简化后可实现安装完后直接自动装载win.iso。 install.cmd: rundll32 setupapi.dll,InstallHinfSection DefaultI  详情 回复 发表于 2017-8-14 13:59
807979023 发表于 2017-8-14 11:20:11
本帖最后由 807979023 于 2017-8-14 11:30 编辑

IMDISK不是需要先安装吗?
安装后应该不需要imdisk.exe旳路径 ,
imdisk.exe -a -f U:\win.iso -m z:
楼主有不需要安装的绿色版?

点评

是不用安装的IMDISK地绿色版。 还有一个问题——如何在安装命令之后加上这一句让IMDISK直接自动加载win.iso? IMDISK的安装命令——install.cmd: @echo off setlocal title ImDisk 虚拟磁盘驱动器安  详情 回复 发表于 2017-8-14 12:41
窄口牛 发表于 2017-8-14 10:05:31
这个东西有驱动和注册表支持,需要初始化才可以使用。
有阴也有阳 发表于 2017-8-14 09:52:23
本帖最后由 有阴也有阳 于 2017-8-14 10:07 编辑
23456 发表于 2017-8-14 07:04
这个提示都是路径不对


新的将U改成D:

D:\IMDISK\imdisk.exe -a -f



D:\IMDISK\imdisk-a -f

执行时仍然提示:“既不是内部命令,也不是外部命令”,无法正常执行。


就是最开始的那个执行良好,谢谢!!!
23456 发表于 2017-8-14 07:04:16

这个提示都是路径不对

点评

新的将U改成D: D:\IMDISK\imdisk.exe -a -f 或 D:\IMDISK\imdisk-a -f 执行时仍然提示:“既不是内部命令,也不是外部命令”,无法正常执行。  详情 回复 发表于 2017-8-14 09:52
有阴也有阳 发表于 2017-8-14 01:52:12
23456 发表于 2017-8-13 19:35
@echo off
U:\IMDISK\imdisk.exe -a -f U:\win.iso -m z:
pause


原来的:

@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

执行时提示:“既不是内部命令,也不是外部命令”,无法正常执行。

点评

这个提示都是路径不对  详情 回复 发表于 2017-8-14 07:04
有阴也有阳 发表于 2017-8-13 20:14:00
23456 发表于 2017-8-13 19:35
@echo off
U:\IMDISK\imdisk.exe -a -f U:\win.iso -m z:
pause

谢谢!!!实测可用!
23456 发表于 2017-8-13 19:35:52
本帖最后由 23456 于 2017-8-13 20:06 编辑

@echo off
U:\IMDISK\imdisk.exe -a -f U:\win.iso -m z:
pause

点评

原来的: @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 执行  详情 回复 发表于 2017-8-14 01:52
建议"U:"改为"%~d0"  发表于 2017-8-13 21:48
谢谢!!!实测可用!  详情 回复 发表于 2017-8-13 20:14

评分

参与人数 2无忧币 +10 收起 理由
有阴也有阳 + 5 赞一个!
易广白 + 5 很给力!

查看全部评分

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

闽公网安备 35020302032614号

GMT+8, 2024-9-21 14:15

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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