2013-01-09 3 views
47

Cela semble être si simple ... Je dois être stupide.Ouvrir Powershell dans un répertoire spécifique à partir du raccourci

Tout ce que je veux est de faire une fenêtre de raccourci qui ouvre Powershell dans un répertoire spécifique:

J'utilise la cible:

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

Mettez juste recrache la commande sous forme de texte .

Toute aide serait appréciée.

Répondre

80

ou de l'utilisation: powershell.exe -noexit -command "cd c:\temp "

+15

Vous voudrez inclure '' 's s'il y a des espaces dans votre chemin:' powershell.exe -noexit -command "cd 'c: \ un chemin avec des espaces \ readme.txt'" ' – blachniet

+0

Juste ce que je cherchais pour. Les guillemets supplémentaires sont nécessaires, y compris lorsque vous travaillez avec des chemins interpolés. –

+3

Si nous parlons _any_ sorte de raccourci (comme dans, conseils et astuces), voici ce qui suit: si vous êtes dans le dossier désiré dans Windows Explorer, vous pouvez taper 'powershell' dans la barre d'adresse et il va ouvrir PowerShell à cet endroit. Cela fonctionne également pour 'cmd' et toute autre application que Windows peut trouver via la variable d'environnement PATH. –

3

Ok - vous devez utiliser le paramètre & pour indiquer qu'il est un COMAND powershell & la syntaxe est légèrement différente:

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

Y at-il une différence entre ceci et [la solution de Kayasak] (http://stackoverflow.com/a/14233773/2707864)? –

+0

J'utilise PowerShell dans [Hyper] (https://hyper.is), dans '.hyper.js', j'ai utilisé cette solution comme:' shellArgs: ['-noexit', '& {cd "$ HOME \ \ mes vieux documents "} ']'. Je ne pouvais pas faire '['-noexit', '-command', '" cd "$ HOME \\ mes anciens documents"'] 'ou' ['-noexit', '-command' cd "$ HOME \\ mes vieux documents "']' pour travailler. –

+0

ancien poste mais juste m'a aidé :) J'étais fatigué de rester coincé dans le répertoire system32 en tant qu'administrateur. Merci –

4

essayer:

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

Vous pouvez également définir le champ de raccourci "Démarrer" dans l'emplacement souhaité.

+1

De loin la solution la plus simple, surtout si vous essayez d'utiliser un chemin avec des espaces ou les caractères impairs (par exemple tout sous Program Files (x86)) –

+14

"Démarrer" ne fonctionnait pas pour moi, toujours démarré dans c: \ windows \ system32 –

+9

Oui, cela ne fonctionne pas si le raccourci a "Exécuter en tant qu'administrateur " – Mica

2

Copiez ce code dans le bloc-notes et enregistrez-le avec une extension reg. Double-cliquez sur le fichier résultant. Si vous recevez un message concernant l'importation dans le registre, cliquez sur Oui, puis sur OK. Accédez à n'importe quel dossier dans l'explorateur et affichez le menu contextuel. Ceci est généralement fait en cliquant sur le bouton droit de la souris.


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'" 
0
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." 
} 

Vous pouvez télécharger script en détail de how to start PowerShell from Windows Explorer

enter image description here

0

Si vous voulez Powershell pour démarrer en tant qu'administrateur et exécuter dans un répertoire spécifique, même sur un autre lecteur, il est préférable d'utiliser la commande Set-Location. Suivez ces étapes

  1. Créez une fonction ShortCutLink avec la cible étant la commande powershellcommand.
  2. Laisser Start in: blanc. (Normalement, cela commence dans le répertoire de travail courant lorsque vide, mais nous ne se soucient pas.)
  3. changement Target à avec vos objectifs pour Powershell et lieux:

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

  4. Cliquez Advanced... et sélectionnez Run as administrator .
  5. Cliquez sur OK s out.

Ne pas oublier l'astuce pratique pour changer les couleurs du raccourci de l'onglet Colors.De cette façon, si vous avez deux ou plusieurs liens qui ouvrent des fenêtres PowerShell, voir une couleur différente peut vous indiquer visuellement dans quel shell vous travaillez.

Questions connexes