Отправить динамический аргумент в приложение через его ярлык

647
Nikunj Bhatt

Я пытаюсь создать ссылку для быстрого доступа, которая будет запускать / открывать командную строку (cmd) в качестве администратора с текущим рабочим каталогом (PWD), заданным в качестве пути к указанной папке.

Что я сделал:

Создан командный файл со следующим содержимым и сохранен как «D: \ Open Admin Command Prompt.bat»:

@echo off cmd /k cd "%1" echo on 

Затем создал его ярлык в «C: \ Users \ Nikunj \ AppData \ Roaming \ Microsoft \ Windows \ SendTo».

Затем я открыл свойства ярлыка -> вкладка / страница «Ярлык».

Установите для "Target" значение "D: \ Open Admin Command Prompt.bat"% 1.

(Обратите внимание на % 1 в конце целевого пути)

Затем нажмите кнопку «Дополнительно», чтобы открыть диалоговое окно «Дополнительные свойства», и установите флажок «Запуск от имени администратора» (и закройте все открытые диалоговые окна с помощью кнопки «ОК»).

Теперь я пытаюсь открыть командную строку от имени администратора с помощью контекстного меню папки «D: \ Nikunj» -> Отправить -> Открыть командную строку администратора. Командная строка открывается как администратор, но для PWD не задано значение «D: \ Nikunj», вместо этого в командной строке отображается ошибка «Системе не удается найти указанный путь». Это означает, что % 1 не распознается как аргумент к ярлыку.

Итак, что я должен написать вместо % 1, или, пожалуйста, скажите, есть ли другой метод.

1

1 ответ на вопрос

0
Nikunj Bhatt

Теперь это работает для системного диска, а также других дисков.

Создал командный файл со следующим содержимым и сохранил как "D:\OpenAdminCommandPrompt.bat":

@echo off set v=%~1 %v:~0,2% cd "%v%" @echo on 

затем

  1. Создан ярлык в %UserProfile%\AppData\Roaming\Microsoft\Windows\SendToпапке.
  2. Установите его цель / место для: cmd.exe /k D:\OpenAdminCommandPrompt.bat. (Я устанавливаю имя пакетного файла без пробела, потому что в противном случае текст после пробела будет рассматриваться как 2-й аргумент cmd.exe.)
  3. Открыл свойство ярлыка, нажал кнопку «Дополнительно», чтобы открыть диалоговое окно «Дополнительные свойства», установил флажок «Запуск от имени администратора» и сохранил.
  4. Установите имя этого ярлыка как Open Admin Command Prompt.lnk.

Теперь, если щелкнуть правой кнопкой мыши любую папку -> открыть меню «Отправить» -> нажать «Открыть командную строку администратора», откроется папка в окне командной строки с правами администратора!

Вы должны были отредактировать свой оригинальный ответ вместо того, чтобы публиковать второй ответ. Можете ли вы подтвердить, является ли первоначальный ответ излишним? suspectus 8 лет назад 0
Исходный ответ не может быть назван избыточным, потому что (1) предыдущий / now_deleted (автор @Sathya) не был полным доказательством того, чего я пытался добиться с его помощью, и (2) это было сделано с немного другим подходом. Nikunj Bhatt 8 лет назад 0