Windows 8 создает новый диск для каждого ISO? Или у него есть один виртуальный диск для загрузки всех ISO?
Другие уже ответили на это - Windows создаст новый виртуальный диск для загрузки каждого ISO, который вы открываете одновременно. Это означает, что второй загружаемый ISO (без извлечения первого) не заменит уже загруженный, а вместо этого будет назначена другая буква диска.
Некоторые ПК используют UltraISO для открытия ISO. Если я просто ввожу имя ISO в DOS, оно загружается в UltraISO. Как я могу загрузить ISO только в Windows 8 на всех ПК, независимо от того, есть ли у них UltraISO или нет?
Интересный вопрос. Я на самом деле пробовал explorer.exe Filename.iso
с различными установленными обработчиками / просмотрщиками / редакторами ISO и обнаружил, что в зависимости от уровня интеграции с ОС, команда либо обходит связанную программу, либо нет. Я все еще ищу способ надежно открывать ISO-образы, всегда используя саму Windows, независимо от установленных программ. Обязательно обновлю свой ответ, если / когда я это выясню.
Как я могу выгрузить ISO?
Все еще нужно выяснить это; вероятно произойдет в сочетании с выяснением надежной команды загрузки, как упомянуто выше.
Тем временем вы можете попробовать одно из следующих действий:
nircmdc cdrom открыть [диск:]
или же
wizmo open = [диск:]
Как я могу узнать, является ли файл действительно ISO?
Я обращаюсь к этому последнему, потому что технически это наиболее трудно достичь. Надежно определить, является ли образ диска с плохим именем (или каким-либо другим файлом) на самом деле ISO или нет, на удивление сложно. Самым близким, что я мог получить, было использование идентификатора файла TrID. Если вы загрузили версию Win32 и последний пакет TrIDDefs, извлеките их в ту же папку и выполните следующую команду:
trid -ns -r:1 File.iso
вы увидите вывод так:
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)
К сожалению, кажется, по какой-то причине ISO идентифицируются TrID как "нулевые байты" (если вы удалите ключ -ns
), или как "Nero BurningROM CDImage", если вы укажете этот переключатель. Я не знаю о первом, но последнее возможно потому, что образы дисков NRG очень похожи на ISO. Если это так, было бы трудно (или, возможно, даже невозможно) провести различие между плохо именованными NRG и настоящими ISO (хотя, если Windows 8 может загружать NRG, переименованные в ISO, это даже не имеет значения). В любом случае следующий пакетный файл распечатает, является ли файл, указанный в качестве аргумента, 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
)
С другой стороны, что вы можете сделать, это посмотреть на эту проблему с противоположной стороны. Поскольку Windows 8 может загружать только ISO и VHD, вполне разумно было бы предположить, что любой не загруженный файл не соответствует требованиям. Таким образом, то, что вы могли бы сделать, это попробовать загрузить предполагаемый ISO (конечно же, команду, ожидающую обработки), а затем найти известный файл на всех дисках (реальных и виртуальных, так как я не знаю, как различить эти два). , Если файл с таким же именем не существует на реальном диске, который может быть вставлен в одно и то же время, в случае успешного поиска файла можно сделать вывод, что ISO был успешно загружен и, таким образом, является либо истинным ISO, либо неверным именем. VHD. Код для поиска всех дисков по конкретному файлу можно найти в моем ответе здесь. (Фу, надеюсь, это имеет смысл!)
Наконец, я хотел бы сказать, что, поскольку в Windows 8, вероятно, есть новые API для загрузки / извлечения ISO, и они могут быть представлены через .NET / PowerShell, может быть проще выполнить все, что вам нужно, с помощью PowerShell. Я не могу вам помочь, так как я не ожидаю PS, но вы обязательно должны изучить это, если использование пакетных файлов не является абсолютной необходимостью.