Показать полную графическую версию : [решено] Присвоить букву скрытому сис.разделу. Не работает file .bat
В командной строке последовательно выполняю команды:
Diskpart
lis vol
sel vol 2
assign
Всё выполняется, буква присваивается.
В Блокнот создаю file .bat, записываю его на флешку.
Запускаю его с флешки с "запуск от админа".
Остаюсь в командной строке с индикацией: Diskpart
Но раздел не видим.
Попробовал запустить другой бат-файл со сценарием:
Diskpart /s lis vol sel vol 2 assign
Тоже ничего не происходит. В чём моя ошибка?
Может файл нельзя запускать в флешки, а поместить его в раздел с Виндой 10?
Спасибо
Petya V4sechkin
03-09-2018, 11:24
new45, нужно создать отдельный текстовый файл со сценарием:
Diskpart Scripts and Examples (https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/diskpart-scripts-and-examples)
Спасибо, в команду надо вписывать не сам сценарий, а имя файла.
И новые вопросы: путь для файла со сценарием надо указывать явно?
Или если этот фай разместить рядом с батником, то только имя?
Непонятно, почему у меня не выполнялся первый батник?
Ведь по-идее должны были выполнится все его "строки":
запуск Diskpart, 1-я команда, 2-я и т.д.
Спасибо
Petya V4sechkin
03-09-2018, 11:47
Ведь по-идее должны были выполнится все его "строки":
запуск Diskpart, 1-я команда, 2-я и т.д.
Нет, ведь после запуска Diskpart он понятия не имеет о батнике со всеми его строками.
А строки после Diskpart в батнике никак не ассоциированы с Diskpart.
То есть если, построчно всё выполнять в ком.строке, то всё выполняется.
А если при помощи батника - выполнение прекратится при первом же запуске какой-нибудь проги?
Существует ли способ построчного выполнения в ком.строке всего, что прописано для неё в каком-нибудь "сценарии"?
Типа запуск Diskpart, выполнение 1-й ЕГО команды, 2-й и т.д. Выход из Diskpart, Запуск другой проги, выполнение её команд и т.д.
Спасибо.
Petya V4sechkin
03-09-2018, 12:07
То есть если, построчно всё выполнять в ком.строке, то всё выполняется.
Нет, не так: в командной строке выполняется только первая команда (запуск Diskpart), а остальные три вы вводите не в cmd, а в запущенном Diskpart.
Где размещать файл сценария для diskpart ?
new45, посмотрите приложенный скриншот.
Имя файла сценария вводите с тем путём, где лежит этот файл.
Можно так:
(
echo list volume
echo select volume 2
echo assign
) | diskpart.exe
Но зачем Вам там вообще list volume нужен?
Iska ,
конечно не нужен в исполняемом скрипте.
Я так понял, что таким макаром можно одним! скриптом писать как команды cmd (Dos ?) так и команды "внутренне"-запускаемых прог?
Где об этом можно прочитать подробнее? Ещё раз спасибо:)
Я так понял, что таким макаром можно одним! скриптом писать как команды cmd (Dos ?) так и команды "внутренне"-запускаемых прог? »
Если искомое приложение читает команды со стандартного потока ввода (stdin), то можно.
Где об этом можно прочитать подробнее? »
Standard streams - Wikipedia (https://en.wikipedia.org/wiki/Standard_streams)
Command Redirection, Pipes - Windows CMD - SS64.com (https://ss64.com/nt/syntax-redirection.html)
Batch files - How To ... Display and Redirect Output (http://www.robvanderwoude.com/battech_redirection.php)
В нашем конкретном случае мы посредством нескольких команд echo осуществляем вывод в стандартный поток вывода (stdout) следующего текста:
list volume
select volume 2
assign
Этот вывод мы группируем в один поток посредством использования операторных скобок «(» и «)». Затем мы посредством конвеера «|» перенаправляем стандартный поток вывода (stdout) этой группы команд на стандартный поток ввода (stdin) утилиты diskpart.exe, которая читает из него полученные команды и исполняет.
list volume
select volume 2 »
Команда list нужна только для визуального определения номера того объекта, который надо выбрать далее. Если всё делается автоматом (скриптом) — она не нужна, и появляется риск, что обработан будет не тот объект, на который рассчитывали. Вроде так... :sorry:
mwz, я к тому, что в скрипте от неё ни холодно, ни жарко: даже если что-то увидим — как-то повлиять на работу скрипта diskpart'а не сможем (NOERR тут не в счёт).
в скрипте от неё ни холодно, ни жарко »
Во-во. :)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.