Поиск буквы диска из недавно смонтированного файла xvhd или vhd в пакете?

Я нашел эти удобные способы монтировать / отключать файл xvhd или vhd в командной строке / пакетном файле.

Однако; Что все еще оставляет мне один вопрос; Предполагая, что я указываю файл, который я хочу установить непосредственно; Как узнать, какая буква диска была назначена с помощью командной строки?

Поэтому, если я могу войти в DiskPart и запустить следующие команды:

 DISKPART> select vdisk FILE="F:\WindowsImageBackup\leeand00-pc\Backup 2017-01-10 031515\924cde0a-0000-0000-0000-50c603000000.vhdx" DiskPart successfully selected the virtual disk file. DISKPART> ATTACH VDISK 100 percent completed DISKPART> LIST VOLUME Volume ### Ltr Label Fs Type Size Status Info ---------- --- ----------- ----- ---------- ------- --------- -------- Volume 0 E DVD-ROM 0 B No Media Volume 1 H DVD-ROM 0 B No Media Volume 2 SYSTEM RESE NTFS Partition 100 MB Healthy System Volume 3 C NTFS Partition 159 GB Healthy Boot Volume 4 F wbadmin_bac NTFS Partition 57 GB Healthy Volume 5 PQSERVICE NTFS Partition 15 GB Healthy Hidden Volume 6 G FreeAgent D NTFS Partition 1397 GB Healthy Volume 7 D Removable 0 B No Media Volume 8 NTFS Partition 159 GB Healthy DISKPART> ASSIGN LETTER=X There is no volume specified. Please select a volume and try again. 

Затем я не могу сразу назначить букву диска вновь прикрепленному тому … однако я могу выбрать его, вызывая его по номеру тома:

 DISKPART> SELECT Volume 8 Volume 8 is the selected volume. DISKPART> ASSIGN LETTER=X DiskPart successfully assigned the drive letter or mount point. 

Видя, как я хочу запустить это как скрипт … как я могу выбрать недавно смонтированный xvhd и назначить ему букву диска?

Люди все время закручиваются с помощью системы буквенных букв, путем сопоставления и развязки общих ресурсов, а также путем вставки / удаления флэш-накопителей.

Итак, как я могу это сделать, учитывая, что проблемы с сопоставлением дисков, вероятно, противоречивы, и тот факт, что при создании резервной копии состояния системы он не присваивает мой том метке?

PS Моя цель здесь состоит в том, чтобы автоматизировать это, чтобы его можно было вызвать по сценарию, выполнить резервное копирование состояния системы (которое я уже xvhd ), а затем смонтировать xvhd диска, удалить большинство профилей пользователей из него ( Обрабатывается отдельной резервной копией), а затем размонтировать его, чтобы он мог быть скопирован другой программой и восстановлен на машине в случае бедствия; (Также я бы восстановил профили пользователей из отдельной резервной копии ).

Поиск буквы диска из недавно смонтированного xvhd или vhd в пакете? Как узнать, какая буква диска была назначена с помощью командной строки?

Выполните вывод Get-DiskImage для Get-Volume или Get-Disk и Get-Partition:

Для файла ISO:

GET-DISKIMAGE filename.iso | GET-VOLUME

Для файла VHD:

GET-DISKIMAGE filename.vhd | GET-DISK | GET-PARTITION

Источник


пример

Основываясь на приведенной статье, я включил логику PowerShell в следующий пакетный скрипт, чтобы включить динамическое получение буквы диска, используемой для монтирования файла VHD или ISO, чтобы затем использовать его как имя переменной на компакт-диске в каталог для запуска вашей команды Неявно или вы можете использовать его иначе, чтобы явно указать букву диска для того, что вам нужно, для команд, с которыми вы будете их использовать, и т. Д.

скрипт

 @ECHO OFF SETLOCAL SET DiskPartScript="%TEMP%DiskpartScript.txt" ECHO SELECT VDISK FILE="%~1" > %DiskPartScript% ECHO ATTACH VDISK >> %DiskPartScript% DiskPart /s %DiskPartScript% SET PowershellScript="%TEMP%\PowerShellScript.ps1" :: -- Use below for VHD ECHO GET-DISKIMAGE "%~1" | GET-DISK | GET-PARTITION | Select -ExpandProperty DriveLetter > "%PowershellScript%" :: -- Use below for ISO ::ECHO GET-DISKIMAGE "%~1" | get-VOLUME | Select -ExpandProperty DriveLetter > "%PowershellScript%" SET PowerShellDir=C:\Windows\System32\WindowsPowerShell\v1.0 CD /D "%PowerShellDir%" FOR /F "DELIMS=" %%A IN ('Powershell -ExecutionPolicy Bypass -Command "& '%PowershellScript%'"') DO SET "DriveLetter=%%A" CD /D "%DriveLetter%:\" <Commands> <Commands> ENDLOCAL 

Дополнительные ресурсы

  • Get-DiskImage
  • Get-Disk
  • Get-Partition
  • Windows 10 не ищет файлы мгновенно
  • Сеть Windows 10 Pro: позволяет пользователям удаленно получать доступ к учетному программному обеспечению на ноутбуке; Безопасность и концептуальные вопросы перед тестированием
  • В чем причина высокого использования ЦП «системы и сжатой памяти» в Windows 10?
  • Яркость изменяется, когда «Адаптивная яркость» отключена в Windows 8.1 / 10
  • Нет гладкой прокрутки на Windows 10
  • Отключить Защитник Windows в Windows 10
  • Где exe, который обрабатывает значок в лотке Bluetooth?
  • Как я могу переключить приложение на другое устройство воспроизведения в Windows 10
  • Windows Spotlight Source и Save location?
  • Как предотвратить автоматический вход последнего пользователя в Windows 10?
  • Как отключить * автоматическую перезагрузку в Windows 10?
  • Interesting Posts

    «Неопределенная ссылка на» ошибки при связывании статической библиотеки C с кодом C ++

    Как преобразовать lambda в std :: функцию с помощью шаблонов

    Разделить объекты NSData на другие объекты NSData заданного размера

    Как включить js и CSS в JSP с помощью Spring MVC

    ExtJs – Фильтрация сетки с полем поиска в заголовке столбца

    Какой значок правильного размера для drawable-xxhdpi?

    Каков правильный способ обмена результатами сетевого звонка с угловым Http в RxJs 5?

    Как добавить параметр для установки обновлений и перезагрузки в Windows 7?

    Способы реализации управления версиями данных в MongoDB

    Призматическое подстановочное взаимодействие

    Открыть окно браузера на указанном экране / координатах

    Использование локалей с Java toLowerCase () и toUpperCase ()

    Вопрос о выходе facebook-ios-sdk

    Нужно ли ВСЕ использовать виртуальные функции в производных classах?

    Использование VBA для получения расширенных атрибутов файла

    Давайте будем гением компьютера.