Я пытался создать командный файл, который вызывает команды diskpart, а затем возвращается обратно в командный файл. Команды diskpart увеличивают размер раздела восстановления.
Вот текущий пакетный файл, который у меня есть:
@echo off
reagentc /disable
diskpart /s diskpartincreasepartition.txt
reagentc /enable
exit /b
И вот что у меня есть в файле diskpartincreasepartition.txt:
diskpart
list disk
sel disk 0
list part
sel part 5
shrink desired=1000 minimum=1000
sel part 4
delete partition override
create partition primary id=de94bba4-06d1-4d40-a16a-bfd50179d6ac
gpt attributes =0x8000000000000001
format quick fs=ntfs label = "Windows RE tools"
exit
Прямо сейчас он просто вызывает diskpart и больше ничего не делает. У меня на USB-накопителе сохранены файлы .bat и .txt, и на нем больше ничего нет. Я запускаю файл .bat, который вызывает файл .txt. Что я здесь делаю не так?
Я также не вижу очевидной причины использовать list disk
перед sel disk 0
или использовать list part
перед sel part 5
, поэтому вы можете удалить и эти две строки.
Ваш скрипт ищет diskpartincreasepartition.txt
в текущей рабочей папке — это может быть та же папка, где находится пакетный скрипт, или совершенно другая (обычно). Он не находит там файл, поэтому diskpart
ему нечего делать. Укажите полный путь:
diskpart /s "%~dp0diskpartincreasepartition.txt"
Это сработало безупречно. Спасибо, Степан!! Очень признателен.
Если вы хотите включить команды diskpart непосредственно в пакет:
@echo off
reagentc /disable
(
echo list disk
echo sel disk 0
echo list part
echo sel part 5
echo shrink desired=1000 minimum=1000
echo sel part 4
echo delete partition override
echo create partition primary id=de94bba4-06d1-4d40-a16a-bfd50179d6ac
echo gpt attributes =0x8000000000000001
echo format quick fs=ntfs label = "Windows RE tools"
echo exit
) | diskpart.exe
reagentc /enable
exit /b
Я не вижу смысла использовать
diskpart
в качестве первой строки вашего текстового файла. Вы пробовали это удалить?