Понимание командной строки

Флейм в чистом виде - все что угодно...
Но - в рамках закона :)
Ответить
Друг Кота
Сообщения: 16797
Зарегистрирован: Ср фев 13, 2013 21:59:40

Сообщение rl55 »

Вопрос к знатокам командной строки.
Находимся в среде восстановления 10-ки.
Можно ли находясь в командной строке на диске X: выполнить команду по переименованию файлов в системном разделе c: предложенным из интернета способом:
https://winitpro.ru/index.php/2024/02/0 ... -na-diske/

cd c:\windows\system32\config
ren SYSTEM system.backup
ren SOFTWARE software.backup

Или аналогично, как тут:
https://www.thewindowsclub.com/you-must ... this-drive

cd %systemroot%\system32\config
ren SYSTEM system.001
ren SOFTWARE software.001

У меня непосредственно из X:\sources такая команда в системный раздел c: не позволяла зайти.
Как я потом понял, надо было к cd добавить параметр /d.
Но я, не зная такой тонкости, выполнил нужные команды в два этапа - сначала перешел в системный раздел (командой c: для примера - у меня другая буква системного раздела 10-ки в среде восстановления была), а из него уже запустил те нужные команды и восстановил в конечном счете систему.
Ладно бы, авторы статей недоговорили разные мелочи.
Но почему в следующей статье
https://mywebpc.ru/windows/nuzhno-vklyu ... tom-diske/
товарищ не добавляет параметр /d после cd, а непосредственно из X:\sources прыгает в нужный раздел? И скрин прилагает:

Изображение

Или это на самом деле так работает? У меня что-то этим способом не получилось... :dont_know:
Реклама
As
Модератор
Аватара пользователя
Сообщения: 46679
Зарегистрирован: Пт янв 23, 2009 19:20:05

Сообщение As »

Если диск, на котором выполняется действие, отличается от текущего - нужно либо переключиться на него, сделав текущим, либо полностью указывать в командной строке путь к файлу... Для исполняемого файла - можно указать путь в переменной окружения, тогда ОС найдет его, даже если он отсутствует в текущем каталоге... :dont_know:
Реклама
Друг Кота
Сообщения: 16797
Зарегистрирован: Ср фев 13, 2013 21:59:40

Сообщение rl55 »

Так в том-то и дело, что полный путь, указанный в статьях, не помогает зайти в другой диск.
Вот для примера, у меня системный C: и обычный E: (тот, который обычно D: бывает, но так винда при установке распорядилась...).
Захожу я в E: и оттуда пытаюсь зайти в системный C: при помощи полного пути cd c:\windows\system32\config
И ничего у меня не получается:

Изображение

И только добавив параметр /d я могу зайти туда по этому же пути:

Изображение

Но те авторы из статей как-то умудряются туда попасть без этого /d :dont_know:

Или всё же это в принципе невозможно?
Вложения
cmd2.png
(17.56 КБ) 135 скачиваний
cmd.png
(18.02 КБ) 134 скачивания
As
Модератор
Аватара пользователя
Сообщения: 46679
Зарегистрирован: Пт янв 23, 2009 19:20:05

Сообщение As »

Реализация отдельных функций командного процессора может быть разной в разных версиях, нужно читать описание команд для конкретной версии... :dont_know: (со времен DOS и её comand.com многое могло измениться...)
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Сообщения: 16797
Зарегистрирован: Ср фев 13, 2013 21:59:40

Сообщение rl55 »

Да хрен бы с ними с этими интерпретациями в разных версиях.

Вот из приведенного там скрина

Изображение

видно, что все действия по переименованию файлов автор производит именно в виртуальном диске X.
И как тогда эти изменения перенесутся на диск C?
Вот этого я не понимаю. Потому и спрашиваю, может какие-то хитрые связи мне незнакомые в этом деле есть?
Реклама
Друг Кота
Аватара пользователя
Сообщения: 5823
Зарегистрирован: Ср ноя 11, 2009 17:19:30
Откуда: Воронеж

Сообщение >TEHb< »

Видимо, в среде восстановления тот диск, что был системным и получил букву Х. Что и видно по скринам.
Усложнять просто. Упрощать сложно.
Контактная информация:
Реклама
Друг Кота
Сообщения: 16797
Зарегистрирован: Ср фев 13, 2013 21:59:40

Сообщение rl55 »

Зайди в среду восстановления и ты увидишь от этого диска X приветствие (приглашение, вроде так правильно это называется)...
А свой системный диск найдешь через diskpart, list vol.
А вот самого диска X ты в том списке не увидишь...
Друг Кота
Аватара пользователя
Сообщения: 26524
Зарегистрирован: Пн фев 09, 2009 22:19:49
Откуда: Когда-то был прекрасный город для людей

Сообщение Муркиз »

Команда cd просто переключает активный каталог на тот что указан в ее параметре.

Но сам переход на этот диск на выполняет без добавочного параметра.

Если по второму скрину в конце добавить команду C: , то увидишь, что текущий каталог на диске C: стал c:\windows\system32\config, и был выполнен переход в него.
Друг Кота
Сообщения: 16797
Зарегистрирован: Ср фев 13, 2013 21:59:40

Сообщение rl55 »

Ну перешли мы из диска X в диск C.
Вот в нем и надо было делать все те операции, какие были сделаны в диске X.
Что-то я вас никак не пойму. Либо я чего-то не понимаю... :dont_know:

Именно так я и поступил.
Друг Кота
Аватара пользователя
Сообщения: 26524
Зарегистрирован: Пн фев 09, 2009 22:19:49
Откуда: Когда-то был прекрасный город для людей

Сообщение Муркиз »

Не понимаешь потому, что не читал описание изначальное системы команд операционной системы тогда ещё DOS.

Ибо в описаниях последних систем вынды уже это упущено, что для каждого из логических дисков ОС хранит активный текущий каталог. И отдельно - текущий активный логический диск.

Команда CD обеспечивает смену активного каталога, но не диска по умолчанию.

Чтобы обеспечить переход в активный каталог на другом диске, надо дать либо две отдельные команды смены каталога и диска, либо объединить их в одну, добавив параметр команды CD.

И также рекомендую прочитать назначение параметра \ и .. , если хочешь уметь работать с командной строкой.
И лучше для этого взять описание DOS. Там это наиболее полно обесняется, с примерами фокусов использования.
Друг Кота
Сообщения: 16797
Зарегистрирован: Ср фев 13, 2013 21:59:40

Сообщение rl55 »

Муркиз писал(а): Ср июл 29, 2026 08:22:50 Если по второму скрину в конце добавить команду C: , то увидишь, что текущий каталог на диске C: стал c:\windows\system32\config, и был выполнен переход в него.
Почему он после команды перехода на c: станет c:\windows\system32\config ?
Именно c: он и станет. Сейчас перепроверил...
Друг Кота
Аватара пользователя
Сообщения: 26524
Зарегистрирован: Пн фев 09, 2009 22:19:49
Откуда: Когда-то был прекрасный город для людей

Сообщение Муркиз »

Для дисковой системы NTFS и выше, доступ к каталогам осуществляется в отличии от FAT, ещё и на основе прав доступа в системе.

А также, это даже в DOS было, на основе атрибутов каталогов, среди которых есть и HIDDEN и SYSTEM.

Вот почему их можно и не увидеть. А если их нельзя отобразить, то активным каталогом будет первый сверху с размещенными правами просмотра.


Изменить их, сбросить можно командой Attrib, но при наличии прав администратора на системные каталоги вындуса. Но и то не на все.
Друг Кота
Сообщения: 16797
Зарегистрирован: Ср фев 13, 2013 21:59:40

Сообщение rl55 »

Муркиз, это слишком заумно для меня.
У меня совершенно простой вопрос - вот проделав операции, показанные на этом скрине применительно к диску X

Изображение

произойдут ли нужные нам переименования на диске C ?
У меня, как я уже писал, ничего не получилось (по конечному факту).
Получилось лишь когда я сразу же перешел на c: и оттуда выполнил все нужные команды.

Повторить-то эту ситуацию я уже не могу, но может ты какой-нибудь простенький и безболезненный пример для проверки дал бы, чтобы я смог в этом убедиться.
Друг Кота
Аватара пользователя
Сообщения: 26524
Зарегистрирован: Пн фев 09, 2009 22:19:49
Откуда: Когда-то был прекрасный город для людей

Сообщение Муркиз »

Объяснения очень не конкретные по всей ситуации, поэтому обязательно будут варианты.

Но это и не главное, судя по той операции, что просвечивает в данном описании.

В вындусу существует система защиты и восстановления критических системных файлов. И ее приоритет выше действий командной строки. Заменить файл на другой, если он включен в базу защищённых файлов, так просто не удастся. Это уже на уровне хакерства идёт, и не младшей ступени.
Друг Кота
Сообщения: 16797
Зарегистрирован: Ср фев 13, 2013 21:59:40

Сообщение rl55 »

У меня всё получилось. Была выключена система защиты (отсутствовала галочка - вот как на тех скринах в статьях).
И именно надо было первым делом переименовать те два системные файла, а потом уже запустить rstrui.exe /offline:C:\windows=active
Там же выскакивает сразу графическое окошко восстановление системы, откуда я успешно и откатился к последней доступной точке восстановления.

Но до этого подобные ситуации у меня успехом не увенчивались. Приходилось полностью винду переустанавливать. Возможно как раз и потому, что не смог тогда с той командной строкой совладать. А на этот раз всё же уперся и добился нужного результата...

Остались вот только непонятки именно с конкретным способом осуществления тех команд...
Друг Кота
Аватара пользователя
Сообщения: 26524
Зарегистрирован: Пн фев 09, 2009 22:19:49
Откуда: Когда-то был прекрасный город для людей

Сообщение Муркиз »

Поздравляю!

Надо инструкции от разработчиков изучать! а не западать на ютуб и дзены.
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 309
Зарегистрирован: Ср мар 31, 2010 11:45:58
Откуда: Славянск

Сообщение Moto_v3x »

команда с процентами cd %systemroot%\system32\config сразу переносит в ситемную папку

%systemroot% — переменная окружения, которая указывает на корневой каталог операционной системы (обычно это C:\Windows).
SfS
Друг Кота
Сообщения: 19602
Зарегистрирован: Пт янв 12, 2007 11:21:39
Откуда: Томск

Сообщение SfS »

Нет виндовса и нет проблем)
Друг Кота
Аватара пользователя
Сообщения: 26524
Зарегистрирован: Пн фев 09, 2009 22:19:49
Откуда: Когда-то был прекрасный город для людей

Сообщение Муркиз »

Проценты - это подстановка значения переменной среды по ее имени. И только. Может применяться где угодно, например , в скриптах вынды и .bat файлах DOS.
Друг Кота
Сообщения: 16797
Зарегистрирован: Ср фев 13, 2013 21:59:40

Сообщение rl55 »

Moto_v3x писал(а): Ср июл 29, 2026 12:59:34 команда с процентами cd %systemroot%\system32\config сразу переносит в ситемную папку

%systemroot% — переменная окружения, которая указывает на корневой каталог операционной системы (обычно это C:\Windows).
Это если мы находимся в командной строке в системном диске (допустим, C:). Сразу в c:\windows\system32\config и попадаем.
Если мы в командной строке находимся в несистемном диске, то команду cd надо дополнить параметром /d , то бишь записать
cd /d %systemroot%\system32\config
Только так мы из ДРУГОГО диска попадем ОДНИМ МАХОМ в необходимую нам папку c:\windows\system32\config для дальнейших действий.
Аналогично примеру в картинках, только там без "процентов" - только и всего:
viewtopic.php?p=4831676#p4831676

Это касательно обычных дисков. Думаю, тоже самое относится и к виртуальному диску X в среде восстановления. Из него тоже, на мой взгляд, в конечном итоге нужно попасть в нужную нам папку c:\windows\system32\config и сделать это командой cd %systemroot%\system32\config находясь в командной строке в диске X: просто не получится. Что в этом случае будет под "процентами" подразумеваться? Не его ли корневой каталог (диска X)? Который мы командой dir и увидим, выполнив названную команду.
И это будет совсем другой каталог, чем на системном диске винды. А именно туда нам и надо попасть...

Вот никак не думал, что у специалистов, коих тут даже в МЯВЕ пруд пруди, мой вопрос вызовет такие затруднения.
Вот просто чисто формально проанализировать тот скрин с командами из статьи, о котором тут речь и ведется. :dont_know:
Ответить

Вернуться в «МЯЯЯУ!»