Как открыть командную строку в определенной папке с правами администратора?


37

Я сделал ярлык для cmd.exe и указал папку, в которой я хочу начать. Затем я пошел в Advanced и поставил галочку в поле Запуск от имени администратора .

Когда я дважды щелкаю по ярлыку, он всегда начинается с C:\Windows\System32.

Чего мне не хватает? Как получить командную строку для запуска в указанной папке?

свойства ярлыка

подсказка, в System32

Ответы:


36

В цели вы должны указать cmd /k cd c:\crp


7
Вместо cd используйте pushd, тогда он также будет работать на других дисках, кроме c: и даже unc.
тыс

2
Чтобы сделать статус администратора более видимым, можно установить заголовок окна и цвет окна. Пример: `cmd.exe / K title Повышен && color 1a && cd / D c:`
Аксель Кемпер

2
@ths pushd работает для unc, где cd не работает. Но ваше небольшое предположение, что cd не будет заменен на другие диски, неверно, см. Cd / d (как вы, вероятно, знаете).
Бароп

CD / D по-прежнему не может покрыть пути
UNC

@JasonXA, что уже было сказано в комментарии в комментарии прямо над вами, а также в первом комментарии.
Баропс

47

Если вы хотите , чтобы рассуждения за ней, то Start inэто явно игнорируются , когда высота выполняется (только исполняемые файлы , которые являются частью самой Windows) для защиты от потенциальной уязвимости в системе безопасности.

Основная идея заключается в том, что потенциально вредоносные библиотеки DLL, расположенные в рабочем каталоге, могут контролироваться пользователем, отличным от текущего администратора, и затем могут загружаться с высокими привилегиями. Чтобы предотвратить это, UAC сбросит рабочий каталог. Поскольку ярлыки «Запуск в» установлены до повышения, это сбрасывается во время повышения. В идеальном случае эта защита будет применяться ко всем повышениям прав, но она применяется только к встроенным двоичным файлам Windows, поскольку она нарушает работу некоторых сторонних программ, которые ожидают сохранения рабочего каталога.

Другие ответы обходят это, сообщая повышенному значение cmdоб изменении своего рабочего каталога после повышения с помощью /kаргумента.


3
+1 за объяснение причины, я всегда думал, что это ошибка, смеется.
modiX

28

В Проводнике существует панель быстрого доступа (QAT) с момента появления ленты в Windows 8. Нажмите File-> open CMD prompt-> Open CMD prompt as adminи сделайте правый клик и выберите, чтобы прикрепить его к QAT.

введите описание изображения здесь

Теперь вы можете нажать на этот значок в каждой папке, которая вам нравится, и теперь в этой папке откроется cmd.

введите описание изображения здесь

Чтобы быстрее запустить cmd от имени администратора из QAT, нажмите ALTклавишу, и вы увидите номер позиции в QAT.

введите описание изображения здесь

Если вы сейчас нажмете номер, инструмент в этой позиции будет запущен (в моем случае 4 запускает cmd от имени администратора).


Можно ли превратить это в ярлык?

2
@Mast, нажмите клавишу ALT, и вы увидите номер позиции в QAT. Если вы сейчас нажмете номер, инструмент в этой позиции будет запущен
magicandre1981

3
это идеальное решение :)
Аарон

Сумасшедший хак! На Windows 10 вы можете использовать powershellвместо cmdопции.
Парамвир Сингх Карвал

@ParamvirSinghKarwal да, в Win10 Microsoft удалила cmd open и заменила запись cmd на powershell с момента обновления версии 1703
magicandre1981

8

Барлоп правильный. Если вы добавите /k cd "\path\to\folder"в поле «Цель» (после cmd.exe), результирующее окно командной строки выполнит cdкоманду, а затем предоставит вам приглашение, которое вам нужно сделать. Если вам нужно перейти на другой диск , вам нужно, cd /dа не просто cd. Если вам нужно перейти на сетевой диск, используйте pushdвместо него - он автоматически подключит целевой UNC-путь как диск и изменит его.

/kПереключатель с cmdпомощью «сделать эту команду и K EEP подсказка открыта.» Все, что после, /kрассматривается как буквальная команда, так что вам не нужно беспокоиться о побеге. Вы можете использовать &&для выполнения нескольких команд: cd "\path\to\folder" && echo Hi!выдаст подсказку в этом каталоге с Hi!печатью вверху.

Эквивалент /k, не держать оперативную вокруг /c(для «выполнения этого гр ommand»).


3

Это на самом деле не то, о чем вы просите, но когда я вас правильно пойму, это достигнет того, что вы пытаетесь обойти. попробуйте shift+ rightclickна определенную папку и выберите open command window here. Если это не ваша проблема, просто дайте мне знать, и я уберу это.

И (благодаря Бобу; я не знал об этом раньше), даже возможно сделать это повышенным.

Источник из комментария Боба .

[...] Пока мы здесь, мы также можем добавить необходимые ключи, чтобы открывать приглашение с повышенными привилегиями для каждой буквы диска, прикрепленной к системе. Это можно легко сделать, добавив запись в реестр. Поэтому скопируйте / вставьте приведенный ниже текст в текстовый файл и дайте ему имя, например «admin.reg», и дважды щелкните по нему.

Windows Registry Editor Version 5.00    
[-HKEY_CLASSES_ROOT\Directory\shell\runas]       
[HKEY_CLASSES_ROOT\Directory\shell\runas]  @="Open command window here as Administrator"  "HasLUAShield"=""    
[HKEY_CLASSES_ROOT\Directory\shell\runas\command]  @="cmd.exe /s /k pushd \"%V\""    
[-HKEY_CLASSES_ROOT\Directory\Background\shell\runas]    
[HKEY_CLASSES_ROOT\Directory\Background\shell\runas]  @="Open command window here as Administrator"  "HasLUAShield"="" 
[HKEY_CLASSES_ROOT\Directory\Background\shell\runas\command]  @="cmd.exe /s /k pushd \"%V\""    
[-HKEY_CLASSES_ROOT\Drive\shell\runas]    
[HKEY_CLASSES_ROOT\Drive\shell\runas]  @="Open command window here as Administrator"  "HasLUAShield"=""    
[HKEY_CLASSES_ROOT\Drive\shell\runas\command]  @="cmd.exe /s /k pushd \"%V\""

Теперь, если вы щелкните правой кнопкой мыши на любой папке, вы увидите оба варианта.


Это была моя первая мысль, но это не вопрос.
Raystafarian

если бы у нас был способ сделать это повышенным, я был бы счастлив.
тыс

1
@ths Вы можете добавить опцию.
Боб

1
спасибо @Bob, с «расширенной» клавишей, она также будет даже в меню Shift-Click.
тыс

@Raystafarian: Я знаю, и мне неприятно, когда я отвечаю на него, осознавая это. Из-за этого я мог понять, как люди отрицают это. Но с другой стороны, я мог бы представить, что довольно много людей, которые находят этот OP с помощью веб-поиска, могли бы еще более комфортно использовать это решение для своих нужд. Вот почему я не просто оставил это как комментарий к OP, так как этот позже может быть удален.
Зайбис

1

Для любого, как я, кто сталкивался с этим при попытке открыть cmd в качестве администратора на отдельном диске («E:» в моем случае), у вас могут возникнуть проблемы при попытке cd E:/somedirили тому подобное. Это не изменит каталог на новый диск.

Если это ваша проблема, и вам просто нужно использовать cmd в качестве администратора на другом диске , синтаксис cmd на самом деле просто E:(или любая другая буква диска) без какой-либо cdкоманды.

Так что вы можете просто:

  1. Поиск в Windows> «cmd»> Правый клик> Запуск от имени администратора
  2. Просто введите E:(или любую букву диска, на которую вы хотите переключиться, а затем двоеточие)

1

Если вам нужно запустить с другого диска (например, D: \ что-то), чем ваш системный диск (например, C: \ Windows \ system32), вы можете поместить в поле «Target» следующее:

cmd /k "cd /d D:\<your directory here>"

Ключевым моментом здесь является добавление /dопции перед вами cd.


0

Когда вы открываете командную строку с правами администратора, и она показывает вам «C: \ Windows \ System32», все, что вам нужно сделать, это ввести «cd ..», и она перейдет в один каталог, который будет «C: \ Windows». , Повторите «cd ..» снова, чтобы перейти к «C: \», откуда вы можете теперь «cd Users / name / folder»


2
Давай по-настоящему ... Если ты хочешь поставить такой ответ, то научись добавлять гораздо больше деталей и быть более четким. Если у вас есть более быстрый способ или вы делаете это, чем то, что уже было указано в других ответах, то почему бы вам не показать это с некоторыми более четкими деталями. Я могу придумать способ, но я не собираюсь делать вашу работу за вас, но могу легко сделать из этого законный ответ и сделать его действительно приемлемым ... легко ... просто печатать, читать, тестировать, изучать и т. Д. Давай по-настоящему Kligmaker вы не можете сделать лучше, чем это с вашей идеей?
Сок Pimp IT
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.