1

У меня есть то, что я считаю уникальной проблемой. Я не много работаю с пакетными файлами, но думаю, что это мой лучший вариант. Здесь ситуация. У меня есть специальное программное обеспечение, которое ищет лоток для компакт-диска в моей системе, а затем назначает эту букву в программном обеспечении. Диск у меня не работает, но он разрешает программному обеспечению назначать этот диск в качестве лотка для компакт-дисков. Когда программное обеспечение установлено и работает, я могу управлять буквами дисков, поменять рабочую на ту, которую видит, и все работает нормально. Мне нужно начать с того, чтобы убедиться, что на обоих моих дисках установлена буква диска, что я могу сделать при запуске с помощью командного файла запуска:

Drive 1 : Y
Drive 2 : X

Затем по истечении заданного промежутка времени для загрузки и загрузки программного обеспечения поменяйте местами буквы.

Drive 1 : X
Drive 2 : Y

Для этого я искал сценарий diskpart, но, похоже, не смог заставить его работать через командный файл.

volume 0 remove drive letter
volume 1 remove drive letter // this way they are both blank so I don't have conflicting drive letters when I change one without the other
volume 0 set drive letter="Y"
volume 1 set drive letter="X"
wait 5 minutes // software will see volume 1 as X drive
volume 0 remove drive letter
volume 1 remove drive letter
volume 0 set drive letter="X"
volume 1 set drive letter="Y"
// now the software will see X drive as volume 0 making it all work OK.

Звучит странно, но это работает, когда я делаю все вручную. Мне нужно автоматизировать процесс для людей, которые запускают машину, но не знают, как или имеют время настроить ее вручную.

Спасибо за помощь.

2 ответа2

2

Вы не можете создавать сценарии для diskpart с помощью команд batch/cmd. Или PowerShell, в этом отношении. И он не принимает аргументы, как вы ожидаете, когда вы вызываете diskpart.exe . Это очень раздражает, но если вы хотите программно контролировать diskpart, вы должны использовать "скрипты diskpart", которые в основном представляют собой просто команды diskpart с разделителями-разделителями в текстовом файле.

Вы должны быть в состоянии вызвать свой скрипт diskpart из командного файла с синтаксисом: diskpart /s scriptname.txt .

-1

Вы можете написать скрипт используя diskpart. ех.

select vdisk file="%driveletter%:\my.vhd"
attach vdisk

Это должно быть вызвано из расширения файла bat

DiskPart /s c:\windows\temp\diskpartscript.txt

если вам нужно изменить dispartscript.txt во время процесса, используйте > для записи ответа в текстовый файл, а затем вызовите его из своей летучей мыши

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .