Пакетный файл с дисковой частью

Я пытался создать командный файл, который вызывает команды 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. Что я здесь делаю не так?


100
2

Ответы:

Решено

Ваш скрипт ищет 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