Откройте Powershell в определенном каталоге с помощью ярлыка

Звучит так, будто это должно быть так просто... Должно быть, я тупой.

Все, что я хочу, это сделать ярлык Windows, который открывает Powershell в определенном каталоге:

Я использую цель:

%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe 
    -noexit -command {cd c:/path/to/open}

Поставил просто выплевывает команду в виде текста.


person Dave Bish    schedule 09.01.2013    source источник


Ответы (10)


Используйте эту команду.

powershell.exe -noexit -command "cd c:\temp"

-NoExit: Не выходить после выполнения команд запуска.

person Loïc MICHEL    schedule 09.01.2013
comment
Вы захотите включить ', если в вашем пути есть пробелы: powershell.exe -noexit -command "cd 'c:\a path with spaces\readme.txt'" - person blachniet; 24.05.2013
comment
Как раз то, что я искал. Дополнительные кавычки необходимы в том числе и при работе с интерполированными путями. - person Aluan Haddad; 01.06.2015
comment
Если мы говорим о любом ярлыке (например, о советах и ​​хитростях), то вот что: если вы находитесь в нужной папке в проводнике Windows, вы можете ввести powershell в адресной строке, и она откроет PowerShell в этом месте. Это также работает для cmd и любого другого приложения, которое Windows может найти через переменную среды PATH. - person Sameer Singh; 28.01.2016
comment
Есть идеи, почему эти решения открывают PS в черном окне стиля CMD вместо стандартного синего окна PS? - person bubbleking; 22.11.2016
comment
Спасибо, чувак, я использовал его, чтобы не использовать терминал в Android Studio, где команды обрезаются из-за ошибки. - person Piero; 26.01.2017
comment
команда работает, но я получаю сообщение об ошибке: В строке отсутствует терминатор: . + CategoryInfo: ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId: TerminatorExpectedAtEndOfString с %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -noexit -command cd d:\ - person tatmanblue; 28.09.2017
comment
Попробуйте использовать одинарную кавычку или восстановить окончание `` - person Loïc MICHEL; 29.09.2017
comment
пример C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoExit -Command Set-Location -LiteralPath c:\tmp - person Gregory Bologna; 05.02.2021

Вы также можете установить поле быстрого доступа «Начать в» в нужное место.

person Shay Levy    schedule 09.01.2013
comment
Безусловно, самое простое решение, особенно если вы пытаетесь использовать путь с пробелами или нечетными символами (например, что-либо в Program Files (x86)) - person Henry Wilson; 01.11.2013
comment
Запуск в не работал у меня, все еще запускался в c:\windows\system32. - person Mattias Örtenblad; 17.09.2014
comment
Да, это не работает, если для ярлыка установлен флажок «Запуск от имени администратора». - person Mica; 28.01.2016
comment
Еще круче, когда вы оставляете поле Start in пустым, потому что тогда оно открывается в текущем местоположении. - person t3chb0t; 04.02.2016
comment
Это решение, которое сработало лучше всего для меня. Я сделал копию существующего ярлыка, назвал его Vagrant, а затем установил путь Start в, где находился мой VagrantFile. Теперь я просто нажимаю ярлык и бродягу и могу начать работать. - person Caleb; 04.03.2020

Хорошо — вам нужно использовать параметр &, чтобы указать, что это команда powershell, и синтаксис немного отличается:

%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe 
-noexit -command "& {cd c:\path\to\open}"
person Dave Bish    schedule 09.01.2013
comment
Есть ли разница между этим и решением Kayasak? - person sancho.s ReinstateMonicaCellio; 18.12.2013
comment
Я использую PowerShell в Hyper, в .hyper.js я использовал это решение, например: shellArgs: ['-noexit', '& {cd "$HOME\\my old documents"}']. Я не мог заставить работать ['-noexit', '-command', '"cd "$HOME\\my old documents"'] или ['-noexit', '-command "cd "$HOME\\my old documents"']. - person vulcan raven; 08.01.2018
comment
старый пост, но просто помог мне :) Я устал застревать в каталоге system32 в качестве администратора. Спасибо - person Randy R; 21.02.2018

пытаться:

%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe 
-noexit -command "cd c:/path/to/open"
person CB.    schedule 09.01.2013

Определите ярлык для Powershell и откройте его свойства, и, наконец, в «Пуск» введите целевую папку, которая будет открываться при запуске ярлыка Powershell

person PaulDev    schedule 25.03.2020

Если вы хотите, чтобы powershell запускался от имени администратора и работал в определенном каталоге, даже на другом диске, лучше использовать команду Set-Location. Следуй этим шагам

  1. Создайте ShortCutLink с целью, являющейся исполняемым файлом powershellcommand.
  2. Оставьте Start in: пустым. (Обычно это начинается в текущем рабочем каталоге, когда пусто, но нам все равно.)
  3. Измените Target на это с вашими целями для powershell и местоположениями:

    C:\Windows\...\v1.0\powershell.exe -noexit -command "Set-Location D:\_DCode\Main"

  4. Нажмите Advanced... и выберите Run as administrator.
  5. Нажмите OKс.

Не забудьте об удобном трюке по изменению цвета ярлыка на вкладке Colors. Таким образом, если у вас есть две или более ссылок, которые открывают окна PowerShell, видя другой цвет, вы можете визуально определить, в какой оболочке работает.

person ΩmegaMan    schedule 28.08.2017

Если вам нужны параметры правой кнопки мыши в проводнике, запустите этот скрипт:

New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT
if(-not (Test-Path -Path "HKCR:\Directory\shell\$KeyName"))
{
    Try
    {
        New-Item -itemType String "HKCR:\Directory\shell\$KeyName" -value "Open PowerShell in this Folder" -ErrorAction Stop
        New-Item -itemType String "HKCR:\Directory\shell\$KeyName\command" -value "$env:SystemRoot\system32\WindowsPowerShell\v1.0\powershell.exe -noexit -command Set-Location '%V'" -ErrorAction Stop
        Write-Host "Successfully!"
     }
     Catch
     {
         Write-Error $_.Exception.Message
     }
}
else
{
    Write-Warning "The specified key name already exists. Type another name and try again."
}

Вот что показано сейчас:

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


Обратите внимание, что вы можете загрузить подробный сценарий с сайта как запустить PowerShell из проводника Windows. .

person frank tan    schedule 10.11.2016

Скопируйте этот код в блокнот и сохраните с расширением reg. Дважды щелкните полученный файл. Если вы получите сообщение об импорте в реестр, нажмите «Да», а затем «ОК». Перейдите к любой папке в проводнике и вызовите контекстное меню. Обычно это делается нажатием правой кнопки мыши.


Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\PShell]
"MUIVerb"="Open in Powershell Window"

[HKEY_CLASSES_ROOT\Directory\Background\shell\PShell\command]
@="c:\\windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -Command Set-Location -LiteralPath '%V'"
person Scott Dimond    schedule 07.11.2016

Я просто хотел добавить ссылку на Powershell разработчика... для записей.

C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -noe -c "&{Import-Module """C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\Tools\Microsoft.VisualStudio.DevShell.dll"""; Enter-VsDevShell d998f19b; cd c:\dev\}"

Это запустит Developer Powershell (VS 2019) в c:\dev\.

person gilu    schedule 06.08.2020

Если вы используете Powershell 7 (pwsh), просто используйте флаг -WorkingDirectory следующим образом:

pwsh -WorkingDirectory "C:\path\to\your\directory"
person Nishith Savla    schedule 20.05.2021