web-dev-qa-db-fra.com

Comment ouvrir une invite de commande dans un dossier spécifique en tant qu'administrateur?

J'ai créé un raccourci vers cmd.exe et spécifié le dossier dans lequel je veux commencer. Je suis ensuite allé dans Options avancées et ai coché Exécuter en tant qu'administrateur .

Lorsque je double-clique sur le raccourci, il commence toujours par C:\Windows\System32.

Qu'est-ce qui me manque? Comment puis-je obtenir la ligne de commande pour démarrer dans le dossier spécifié?

 shortcut properties

 the Prompt, in System32

36
AngryHacker

Dans la cible, vous devez spécifier cmd /k cd c:\crp

32
barlop

Si vous souhaitez en comprendre le raisonnement, le Start in est explicitement ignoré lors de l'élévation (uniquement sur les fichiers binaires faisant partie de Windows lui-même) afin de vous protéger contre une faille de sécurité potentielle.

L'idée de base est que les DLL potentiellement malveillantes situées dans le répertoire de travail peuvent être contrôlées par un utilisateur autre que l'administrateur actuel et peuvent ensuite être chargées avec des privilèges élevés. Pour éviter cela, UAC réinitialisera le répertoire de travail. Etant donné que "Démarrer dans" des raccourcis est défini avant que l'élévation ne se produise, il est réinitialisé pendant l'élévation. Dans un monde idéal, cette protection s'appliquerait à toutes les élévations, mais uniquement aux fichiers binaires Windows intégrés, car elle interrompt certains programmes tiers qui supposent que le répertoire de travail soit préservé.

Les autres réponses contournent ce problème en indiquant à la variable cmd élevée de changer son répertoire de travail after / elevation, via l'argument /k.

45
Bob

Dans l'explorateur, il y a un barre d'accès rapide (QAT) depuis l'intruduction du ruban dans Windows 8. Cliquez sur Filename __-> open CMD Prompt-> Open CMD Prompt as admin et cliquez pour le lier à QAT.

enter image description here

Maintenant, vous pouvez cliquer sur cette icône dans chaque dossier de votre choix et la cmd s'ouvre maintenant dans ce dossier.

enter image description here

Pour exécuter le cmd en tant qu’administrateur plus rapidement à partir du QAT, appuyez sur le bouton ALT et vous voyez un numéro pour la position dans le QAT.

enter image description here

Si vous appuyez maintenant sur le numéro, l'outil à cette position est démarré (dans mon cas, 4 exécute la commande en tant qu'administrateur).

24
magicandre1981

Barlop est correct. Si vous ajoutez /k cd "\path\to\folder" au champ Cible (après cmd.exe), la fenêtre d'invite de commande résultante exécutera la commande cd et vous laissera ensuite une invite à utiliser comme bon vous semble. Si vous devez passer à un autre lecteur , vous aurez besoin de cd /d plutôt que de cd. Si vous devez passer sur un lecteur réseau, utilisez plutôt pushd: il monte automatiquement le chemin UNC cible en tant que lecteur et le modifie.

Le passage de /k à cmd signifie "faites cette commande et k eep l'invite est ouverte". Tout ce qui suit le /k est traité comme une commande littérale, vous n'avez donc pas à craindre de vous échapper. Vous pouvez utiliser && pour exécuter plusieurs commandes: cd "\path\to\folder" && echo Hi! produira une invite dans ce répertoire avec Hi! imprimé en haut.

L'équivalent de /k qui ne garde pas l'invite est /c (pour "exécuter ceci c ommand").

8
Ben N

Ce n’est pas ce que vous demandez, mais si je vous ai bien compris, vous obtiendrez ce que vous essayez de contourner. essayez de shift + rightclick sur le dossier spécifique et sélectionnez open command window here. Au cas où ce ne serait pas votre problème, faites le moi savoir et je retirerai ceci.

Et (grâce à Bob; je ne le savais pas avant), il est même possible de faire cela surélevé.

Source de commentaire de Bob .

[...] Pendant que nous sommes ici, nous pouvons également ajouter les clés requises pour ouvrir une invite élevée de chaque lettre de lecteur attachée au système. Cela peut facilement être accompli en ajoutant une entrée dans le registre. Donc, copiez/collez le texte ci-dessous dans un fichier texte, nommez-le par exemple “admin.reg” et double-cliquez dessus.

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\""

Maintenant, si vous faites un clic droit sur un dossier, vous verrez les deux options.

3
Zaibis

Lorsque vous ouvrez l'invite de commande en tant qu'administrateur et que "C:\Windows\System32" s'affiche, il vous suffit d'entrer "cd .." et vous obtiendrez un répertoire qui sera "C:\Windows". . Répétez "cd .." à nouveau pour aller à "C: \" d'où vous pouvez maintenant "cd Utilisateurs/nom/dossier"

1
LordKiz

Pour quiconque, comme moi, qui est tombé sur cela en essayant d'ouvrir cmd en tant qu'administrateur dans un lecteur séparé ("E:" dans mon cas), vous pouvez avoir rencontré des problèmes en essayant de cd E:/somedir ou similaire. Cela ne changera pas le répertoire sur le nouveau lecteur.

Si tel est votre problème et que vous avez juste besoin de utiliser cmd en tant qu'administrateur sur un autre lecteur , la syntaxe de cmd est en réalité juste E: (ou toute lettre de lecteur), sans commande cd.

Donc vous pouvez simplement:

  1. Windows Search> "cmd"> Clic droit> Exécuter en tant qu'administrateur
  2. Il vous suffit de taper E: (ou la lettre de lecteur que vous souhaitez remplacer, suivie de deux points)
1
Broper

Si vous devez démarrer à partir d'un lecteur différent (par exemple, D:\quelque chose) de votre lecteur système (par exemple, C:\Windows\system32), vous pouvez ajouter les éléments suivants à votre champ "Cible":

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

La clé ici est d'ajouter l'option /d devant votre cd.

1
youngrrrr