无忧启动论坛

标题: 打包为ISO文件右键菜单 [打印本页]

作者: baby1277    时间: 2025-10-22 14:54
标题: 打包为ISO文件右键菜单
本帖最后由 baby1277 于 2025-11-9 00:05 编辑

最近在玩虚拟机测试安装不同的系统需要频繁的交换文件

因为需要把原系统删除,每次都要重新设置一遍,有点麻烦。

所以就想着把需要的交换的文件打包为ISO,这样就更方便。

所以写了个打包iso的脚本,基于oscdimg.exe 来打包的,支持中文。

打包为ISO可以防止被修改,无需解压软件就可以打开。

用起来感觉不错,故分享大家一起使用。

不支持右键选择多个文件或文件夹

  1. @echo off
  2. if not defined iso set iso=%1
  3. if not defined iso exit
  4. :: 右键打包为iso文件
  5. for /f "delims=" %%i in ('echo %iso%') do (
  6. set iso=%%~fi
  7. set isoN=%%~ni
  8. set isoN2=%%~nxi
  9. set isopath=%%~dpi
  10. )
  11. if exist "%iso%.iso" del /f /q "%iso%.iso"
  12. cd /d "%iso%" >nul ||goto file
  13. oscdimg -m -o -u2 -udfver102 -l"%isoN%"  "%iso%" "%iso%.iso"
  14. exit
  15. :file
  16. cd /d %isopath%
  17. md iso_temp
  18. if %errorlevel% equ 1 exit
  19. echo 8 >>iso_temp\tem.txt
  20. timeout /t 1 >nul
  21. for %%i in (iso_temp\tem.txt) do if %%~zi gtr 4 exit
  22. del /f /q iso_temp\tem.txt
  23. mklink /h "%isopath%iso_temp\%isoN2%" "%iso%"
  24. oscdimg -m -o -u2 -udfver102 -l"%isoN%" "%isopath%iso_temp" "%isopath%%isoN%.iso"
  25. rd /s /q iso_temp
复制代码




打包为ISO文件v2025.11.8.rar (56.25 KB, 下载次数: 225)


作者: 燕飞龙    时间: 2025-10-22 15:37
谢谢分享
作者: guong    时间: 2025-10-22 15:40
感谢分享!
作者: wwwlhp    时间: 2025-10-22 15:42
多谢分享!!!
作者: it323    时间: 2025-10-22 15:46
感谢分享!
作者: 肉仔    时间: 2025-10-22 15:53
谢谢您的分享!
作者: a66    时间: 2025-10-22 15:57
好方法,有空就测试一下
作者: 绿光科技    时间: 2025-10-22 16:27
本帖最后由 绿光科技 于 2025-10-22 16:56 编辑

这小功能很不错   不过有几个问题
1、脚本中的这地址是不是错误?


2、右键打包多个文件时会生成多个ISO,而不是生成一个ISO,有时候还无法打包



作者: 2012wang55    时间: 2025-10-22 16:46
我运行怎么全是CMD弹窗
作者: wn168cn@163.com    时间: 2025-10-22 16:58
支持原创
作者: dodoxia    时间: 2025-10-22 17:22
不错很有用,谢谢楼主。
作者: fd8526547    时间: 2025-10-22 18:02
感谢分享

作者: drzfb    时间: 2025-10-22 18:31
非常方便实用
作者: seeimpact153    时间: 2025-10-22 18:44
脚本最后一行改为C:\Windows\system32\toiso.cmd 才右键有效
作者: baby1277    时间: 2025-10-22 19:44
本帖最后由 baby1277 于 2025-10-22 19:46 编辑
绿光科技 发表于 2025-10-22 16:27
这小功能很不错   不过有几个问题
1、脚本中的这地址是不是错误?

是在下粗心,在本机测试OK,但没有在虚拟机测试过,已改正。
还没有考虑选择多个文件的情况,多个文件就用  文件夹装起来



作者: handsome_xiang    时间: 2025-10-22 20:27
感谢楼主分享!
作者: PCHH    时间: 2025-10-22 21:21
谢谢分享
作者: 邪恶海盗    时间: 2025-10-22 22:40
跟虚拟机交换文件可以用FeiQ对传,也可以安装VMTools直接复制粘贴,打包ISO是什么鬼?


二○二五年十月二十二日
作者: rchc08    时间: 2025-10-23 05:47
感谢分享
作者: ebaqiang    时间: 2025-10-23 07:46
支持一下
作者: wcs    时间: 2025-10-23 08:03
支持原作
作者: fegr    时间: 2025-10-23 13:27
感谢楼主分享
作者: 菲菲18866    时间: 2025-10-23 16:33
打包ISO方便虚拟机挂在  建议优化下脚本 选择多个文件时 不要生成多个ISO 做个判断
作者: 小灰兔    时间: 2025-10-24 19:14

感谢楼主分享
作者: a583091790    时间: 2025-10-25 15:57
感谢楼主分享 实用
作者: SJ青檀    时间: 2025-11-1 00:58
支持支持
作者: 2902102    时间: 2025-11-2 16:17
实用省时,感谢分享
作者: taxuexunmei    时间: 2025-11-2 19:54
谢谢分享
作者: 419545168    时间: 2025-11-7 14:41
感谢分享
作者: aceainarj    时间: 2025-11-10 22:23
太好了,谢谢
作者: yaoguoguo820    时间: 2025-11-25 16:23
赞一个
作者: yaoguoguo820    时间: 2025-11-25 16:23
赞一个
作者: 1e3e    时间: 2025-11-26 09:53
感谢我正需要着呢
作者: 邓国印    时间: 2025-11-28 15:41
大佬:搞一个右键打包WIM的右键。
作者: 小龙飞    时间: 2025-12-4 13:09
感谢您的分享!
作者: cdffc    时间: 2025-12-27 00:38
本帖最后由 cdffc 于 2025-12-27 00:45 编辑

修改了以下几点:1、管理员运行
2、屏蔽错误提示
3、合并了文件和文件夹打包ISO两个文件
4、完全无CMD黑窗口,静默运行。
  1. @echo off
  2. ::管理员运行
  3. openfiles >nul 2>&1
  4. if %errorlevel% neq 0 (
  5.     powershell -Command "Start-Process '%~f0' -Verb runAs"
  6.     exit /b
  7. )
  8. ::copy到系统文件夹
  9. cd /d %~dp0
  10. copy /y file\Toiso.cmd C:\Windows\System32
  11. copy /y file\oscdimg.exe C:\Windows\System32
  12. copy /y file\RunHidden.vbs C:\Windows\System32
  13. ::添加右键文件夹打包为ISO
  14. reg add "HKEY_CLASSES_ROOT\Directory\shell\Toiso" /ve /t REG_SZ /d "打包文件夹为ISO" /f
  15. reg add "HKEY_CLASSES_ROOT\Directory\shell\Toiso" /v "Icon" /d "C:\Windows\System32\imageres.dll,-5205" /f  
  16. reg add "HKEY_CLASSES_ROOT\Directory\shell\Toiso\command" /ve /t REG_SZ /d "C:\Windows\System32\wscript.exe ""C:\Windows\System32\RunHidden.vbs"" ""%%1""" /f  
  17. ::添加右键文件打包为ISO
  18. reg add "HKEY_CLASSES_ROOT\*\shell\Toiso" /ve /t REG_SZ /d "打包文件为ISO" /f
  19. reg add "HKEY_CLASSES_ROOT\*\shell\Toiso" /v "Icon" /d "C:\Windows\System32\imageres.dll,-5205" /f  
  20. reg add "HKEY_CLASSES_ROOT\*\shell\Toiso\command" /ve /t REG_SZ /d "C:\Windows\System32\wscript.exe ""C:\Windows\System32\RunHidden.vbs"" ""%%1""" /f  
复制代码


打包为ISO文件_v251227.zip

64.04 KB, 下载次数: 20, 下载积分: 无忧币 -2


作者: deuteros_gex    时间: 2025-12-27 21:17
楼主产量惊人啊,感谢分享
作者: alsar    时间: 4 天前
感谢分享
作者: nfans    时间: 昨天 15:22
cdffc 发表于 2025-12-27 00:38
修改了以下几点:1、管理员运行
2、屏蔽错误提示
3、合并了文件和文件夹打包ISO两个文件

感谢分享,8.1上报错,不懂是什么原因所致。




作者: cdffc    时间: 昨天 16:11
本帖最后由 cdffc 于 2026-2-6 16:21 编辑

作者原来的三个文件是复制到 SYSTEM 32 目录的, 权限问题,我自己的已经修复了,文件复制到 C:\Utils ,没有问题。在运行新版本前,记得删除旧版本,避免右键菜单出现多个上下文菜单,可以用 ContextMenuManager  来管理。 附件是新版本。 添加为ISO_v260103.zip (63.17 KB, 下载次数: 0)

  1. @echo off
  2. title 右键添加为ISO
  3. color 0A

  4. :: 检测管理员权限
  5. openfiles >nul 2>&1
  6. if %errorlevel% neq 0 (
  7.     echo 需要管理员权限...
  8.     powershell -Command "Start-Process '%~f0' -Verb runAs"
  9.     exit /b
  10. )

  11. :menu
  12. cls
  13. echo ================================
  14. echo     菜单管理工具
  15. echo ================================
  16. echo.
  17. echo   [1] 右键添加为ISO
  18. echo   [2] 删除添加为ISO
  19. echo.
  20. echo ================================
  21. set /p choice=请选择操作 (1/2):

  22. if "%choice%"=="1" goto add_function
  23. if "%choice%"=="2" goto remove_function

  24. echo.
  25. echo 无效的选择,请按任意键重新选择...
  26. pause >nul
  27. goto menu

  28. :add_function
  29. cls
  30. echo.
  31. echo 正在执行添加功能...
  32. echo.
  33. :: 创建 Utils 目录
  34. if not exist "C:\Utils" mkdir "C:\Utils"
  35. cd /d %~dp0
  36. copy /y file\Toiso.cmd C:\Utils
  37. copy /y file\oscdimg.exe C:\Utils
  38. copy /y file\RunHidden.vbs C:\Utils

  39. ::右键文件夹添加为ISO
  40. reg add "HKEY_CLASSES_ROOT\Directory\shell\Toiso" /ve /t REG_SZ /d "添加文件夹为ISO" /f
  41. reg add "HKEY_CLASSES_ROOT\Directory\shell\Toiso" /v "Icon" /d "C:\Windows\System32\shell32.dll,179" /f  
  42. reg add "HKEY_CLASSES_ROOT\Directory\shell\Toiso\command" /ve /t REG_SZ /d "C:\Windows\System32\wscript.exe ""C:\Utils\RunHidden.vbs"" ""%%1""" /f  


  43. ::右键文件添加为ISO
  44. reg add "HKEY_CLASSES_ROOT\*\shell\Toiso" /ve /t REG_SZ /d "添加文件为ISO" /f
  45. reg add "HKEY_CLASSES_ROOT\*\shell\Toiso" /v "Icon" /d "C:\Windows\System32\shell32.dll,179" /f  
  46. reg add "HKEY_CLASSES_ROOT\*\shell\Toiso\command" /ve /t REG_SZ /d "C:\Windows\System32\wscript.exe ""C:\Utils\RunHidden.vbs"" ""%%1""" /f

  47. echo.
  48. echo 添加功能执行完成!
  49. echo 5秒后自动退出...
  50. timeout /t 5 /nobreak >nul
  51. exit /b
复制代码








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