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

37

J'ai créé un raccourci vers cmd.exe et spécifié le dossier dans lequel je veux démarrer. 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é?

propriétés de raccourci

l'invite, dans System32

AngryHacker
la source

Réponses:

36

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

barlop
la source
7
Au lieu de cd, utilisez pushd, cela fonctionnera également sur des lecteurs autres que les partages c: et même unc.
Ths
2
Pour rendre l'état de l'administrateur plus visible, le titre et la couleur de la fenêtre peuvent être définis. Exemple: `cmd.exe / K title Elevated && couleur 1a && cd / D c:`
Axel Kemper
2
@ths pushd fonctionne pour unc où cd ne fonctionne pas, en effet. Mais votre petite suggestion que cd ne changera pas sur d’autres disques est incorrecte, voir cd / d (comme vous le savez probablement).
Barlop
cd / d ne peut toujours pas couvrir les chemins non-lus ... donc un point discutable en fait
JasonXA
@JasonXA qui a déjà été dit en commentaire dans le commentaire juste au-dessus du vôtre, ainsi que dans le premier commentaire.
barlop
47

Si vous voulez comprendre le raisonnement qui le sous-tend, il Start inest 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, puis 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 évitent cela en disant à l'élévé cmdde changer de répertoire de travail après l' élévation, via l' /kargument.

Bob
la source
3
+1 pour expliquer la raison, j'ai toujours pensé que c'était un bug, lol.
ModiX
28

Dans l'Explorateur, il existe une barre d'outils d'accès rapide (QAT) depuis l'intruduction du ruban dans Windows 8. Cliquez sur File-> open CMD prompt-> Open CMD prompt as admin, faites un clic droit et sélectionnez l'épingler à QAT.

entrez la description de l'image ici

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

entrez la description de l'image ici

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

entrez la description de l'image ici

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).

magicandre1981
la source
Cela peut-il être transformé en un raccourci?
2
@Mast, appuyez sur la touche Alt et vous verrez un numéro pour la position dans le QAT. Si vous appuyez maintenant sur le numéro, l'outil à cette position est démarré
magicandre1981
3
c'est la solution parfaite :)
Aaron
Fou bidouille! Sur Windows 10, vous pouvez utiliser powershellau lieu d’ cmdoption.
Paramvir Singh Karwal le
@ParamvirSinghKarwal oui, sous Win10, Microsoft a supprimé cmd open et remplacé l'entrée cmd par powershell depuis la mise à jour de la version 1703
magicandre1981 le
8

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 cdcommande, puis vous laissera une invite à utiliser comme bon vous semble. Si vous avez besoin de changer de lecteur , vous aurez cd /dplutôt besoin que simplement cd. Si vous devez passer sur un lecteur réseau, utilisez pushdplutôt: il monte automatiquement le chemin UNC cible en tant que lecteur et le modifie.

Le /kpassage à des cmdmoyens « faire cette commande et k EEP l'invite ouverte. » Tout ce qui suit /kest 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 une Hi!impression en haut.

L'équivalent de /kqui ne tient pas autour de l' invite est /c(pour « exécuter cette c ommand »).

Ben N
la source
3

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+ rightclicksur 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 (merci à Bob; Je ne le savais pas avant), il est même possible de faire cela surélevé.

Source du 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.

Zaibis
la source
Ce fut ma première pensée aussi, mais ce n’est pas la question.
Raystafarian le
Si nous avions un moyen de faire cela surélevé, je serais heureux.
le
1
@ths Vous pouvez ajouter l'option.
Bob
1
merci @Bob, avec une touche "Extended", il sera même dans le menu Shift-Click, aussi.
le
@Raystafarian: Je sais, et je me sens un peu désagréable de répondre à cette question tout en en prenant conscience. Je pouvais comprendre que les gens votent à la baisse à cause de cela. Mais d’un autre côté, j’imaginais que de nombreuses personnes trouveraient ce PO par Websearch encore plus à l’aise avec cette solution adaptée à leurs besoins. C’est aussi la raison pour laquelle je n’ai pas laissé cela comme commentaire à OP, celui-ci risquant d’être supprimé plus tard.
Zaibis
1

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 avez peut-être rencontré des problèmes lorsque vous avez essayé cd E:/somedirou similaire. Cela ne changera pas le répertoire sur le nouveau lecteur.

Si tel est votre problème et que vous devez simplement utiliser cmd en tant qu'administrateur sur un lecteur différent , la syntaxe de cmd est en fait juste E:(ou quelle que soit la lettre du lecteur), sans cdcommande.

Donc vous pouvez simplement:

  1. Recherche Windows> "cmd"> clic droit> Exécuter en tant qu'administrateur
  2. Tapez simplement E: (ou quelle que soit la lettre de lecteur que vous souhaitez changer suivie de deux points)
Broper
la source
1

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 consiste à ajouter l’ /doption devant votre cd.

youngrrrr
la source
0

Lorsque vous ouvrez une invite de commande en tant qu’administrateur et que celui-ci vous indique "C: \ Windows \ System32", vous devez simplement saisir "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"

LordKiz
la source
2
Allez-y pour de vrai ... Si vous voulez mettre une réponse comme ça, alors apprenez comment ajouter beaucoup plus de détails et être plus clair. Si vous avez un moyen plus rapide ou le faites que ce qui a déjà été spécifié dans d'autres réponses, alors pourquoi ne pas le montrer avec des détails plus clairs. Je peux penser à un moyen mais je ne ferai pas votre travail pour vous, mais pourrais facilement en faire une réponse légitime et le rendre réellement acceptable… facilement… tapez, lisez, testez, apprenez, etc. Allez pour de vrai Kligmaker, tu ne peux pas faire mieux que ça avec ton idée?
Pimp Juice IT