Moh*_*ail 6 mount iso-image virtual-drive batch-file windows-8
我在一个网站上看到,新的 Windows 8 可以在没有其他程序帮助的情况下加载 ISO 映像。
Windows 8 是否为每个 ISO 创建一个新驱动器?或者它有一个虚拟驱动器来加载所有的 ISO 吗?
我如何知道文件是否真的是 ISO?
一些 PC 使用 UltraISO 打开 ISO。如果我只是在 DOS 中输入 ISO 名称,它会在 UltraISO 中加载。如何仅在所有 PC 上的 Windows 8 中加载 ISO,无论它们是否具有 UltraISO?
如何卸载 ISO?
我想在批处理文件中完成所有这些。
avi*_*irk 10
Windows 8 是否为每个 ISO 创建一个新驱动器?或者它是否有一个假驱动器来加载所有 ISOS?
是的,Windows 8 将为每个 ISO 文件制作一个虚拟驱动器,但前提是您尝试同时打开多个 ISO 文件。
我怎么知道一个文件是否真的是里面的 ISO?
只需右键单击图像并选择属性,您将看到文件类型。或者它在 Windows 8 中有一个默认图标。

一些 PC 使用 UltraISO 打开 ISO。如果我只是在 DOS 中输入 ISO 名称,它会在 UltraISO 中加载。如何仅在所有 PC 上的 Windows 8 中加载 ISO,无论它们是否具有 UltraISO?
是的,您可以使用“打开方式”选项打开它或将默认程序设置为它。
如何卸载 ISO?
只需右键单击它并选择选项Eject。
编辑:您可以ISO通过命令行运行火,只需键入如下命令
C:\>explorer.exe D:\DiskImage\imagefile.iso
Run Code Online (Sandbox Code Playgroud)
注意:这D:\diskimage\imagefile.iso是ISO您必须使用路径更改的文件路径。
现在您将看到现在ISO图像已安装在explorer“我的电脑”部分下。如果您想同时打开多个ISO,那么您可以使用所需的图像文件名运行相同的命令来打开它。
现在,如果您想卸载ISO图像表单命令行,请键入以下命令并点击Enter:
c:\>powershell dismount-diskimage -devicepath \\.\D:
Run Code Online (Sandbox Code Playgroud)
这里D:指的是您的虚拟驱动器的驱动器号,它可能会根据您的分区号而有所不同。
另一个编辑:在谷歌搜索之后,我找到了@r.tanner.f在 SU 上的线程,他找到了通过 power-shell 安装多个 ISO 的方法。读完这篇文章后,他克服了这一点。
Windows 8 是否会为每个 ISO 创建一个新驱动器?或者它是否有一个虚拟驱动器来加载所有 ISO?
其他人已经回答了这个问题 - Windows 将创建一个新的虚拟驱动器来加载您同时打开的每个 ISO 。这意味着,您加载的第二个 ISO(不弹出第一个 ISO)不会替换已加载的 ISO,而是会分配一个不同的驱动器号。
有些电脑使用 UltraISO 来打开 ISO。如果我只是在 DOS 中输入 ISO 名称,它就会在 UltraISO 中加载。如何在所有电脑上仅在 Windows 8 中加载 ISO,无论它们是否有 UltraISO?
有趣的问题。我实际上尝试explorer.exe Filename.iso安装不同的 ISO 处理程序/查看器/编辑器,发现根据与操作系统的集成级别,该命令要么绕过相关程序,要么不绕过。我仍在寻找一种始终使用 Windows 本身可靠地打开 ISO 的方法,而不管安装了任何关联程序。如果/当我弄清楚时,一定会更新我的答案。
如何卸载 ISO?
仍然需要弄清楚这一点;可能会与如上所述确定可靠的加载命令一起发生。
同时您可以尝试以下操作之一:
nircmdc cdrom 打开 [驱动器:]
或者
wizmo open=[驱动器:]
我如何知道一个文件是否真的是 ISO?
我最后解决这个问题是因为从技术上来说,这是最难实现的。可靠地识别命名错误的光盘映像(或任何与此相关的文件)是否实际上是ISO 是非常困难的。我能得到的最接近的是使用TrID 文件标识符。如果您下载了Win32版本和最新的TrIDDefs包,请将它们解压到同一文件夹并运行以下命令:
trid -ns -r:1 File.iso
Run Code Online (Sandbox Code Playgroud)
你会看到这样的输出:
TrID/32 - File Identifier v2.10 - (C) 2003-11 By M.Pontello
Definitions found: 4903
Analyzing...
Collecting data from file: File.iso
49.4% (.NRG) Nero BurningROM CDImage (2048000/1)
Run Code Online (Sandbox Code Playgroud)
不幸的是,由于某种原因,ISO 似乎要么被 TrID 标识为“空字节”(如果您删除了开关-ns),要么被标识为“Nero BurningROM CDImage”(如果您指定了开关)。我不知道前者,但后者可能是因为 NRG 光盘映像与 ISO 非常相似。如果是这样,就很难(或者甚至不可能)区分命名不当的 NRG 和真正的 ISO(尽管如果 Windows 8 可以加载重命名为 ISO 的 NRG,那就没关系了)。无论如何,以下批处理文件将打印指定为参数的文件是否为 NRG/ISO:
@echo off
if [%1]==[] goto :EOF
for /f %%v in ('trid -ns -r:1 "%1" ^| find /c "(.NRG)"') do (
if [%%v]==[0] echo "%1" is not an NRG/ISO & goto :EOF
echo "%1" is an NRG/ISO
)
Run Code Online (Sandbox Code Playgroud)
或者,你可以从相反的方向看这个问题。由于 Windows 8 只能加载 ISO 和 VHD,因此可以合理地假设任何未加载的文件都不符合要求。因此,你可以做的是尝试加载假定的 ISO(当然该命令仍在等待中),然后在所有磁盘驱动器中搜索已知文件(真实的和虚拟的,因为我不知道如何区分两者) 。假设在同时插入的真实光盘上不存在同名文件,如果文件搜索成功,您可以断定 ISO 已成功加载,因此要么是真正的 ISO,要么是命名错误的 ISO VHD。在所有磁盘驱动器中搜索特定文件的代码可以在我的答案中找到。(唷,希望这是有道理的!)
最后,我想说,由于 Windows 8 中可能有新的 API 来加载/弹出 ISO,并且这些 API 可能通过 .NET/PowerShell 公开,因此通过 PowerShell 完成您想要的所有操作可能会更容易。我无法帮助你,因为我不是 PS 期望,但如果不是绝对需要使用批处理文件,你绝对应该研究一下它。
| 归档时间: |
|
| 查看次数: |
9758 次 |
| 最近记录: |