web-dev-qa-db-fra.com

Fichier BAT pour ouvrir CMD dans le répertoire en cours

J'ai beaucoup de scripts avec lesquels j'interagis depuis la ligne de commande. À chaque fois que je dois les utiliser, je dois ouvrir une fenêtre de ligne de commande et copier/coller le CD dans le chemin du répertoire dans lequel ils se trouvent. C'est fastidieux (ils sont dans un système de fichiers assez profond, alors entrez le chemin est une douleur, copier + coller est mieux mais pas beaucoup). J'ai essayé de créer un fichier .BAT sur lequel je pouvais double-cliquer pour ouvrir une nouvelle fenêtre de ligne de commande dans le dossier dans lequel se trouve le fichier .bat mais cela ne fonctionne pas. Il ouvre une nouvelle fenêtre, mais le répertoire de travail n’est pas le répertoire dans lequel se trouve le fichier .bat. Voici ce que j’ai obtenu après beaucoup de recherches sur Google (mes compétences en cmd ne sont pas si bonnes):

cd %CD%
cmd.exe

Depuis que j’utilisais Linux, je sais que Konqueror possédait une fonctionnalité "Fenêtre de ligne de commande ici", et c’est ce que j’essaie d’obtenir sur Windows.

Crea un file chiamato open_dos_here.cmd con le seguenti linee:

%~d1
cd "%~p1"
call cmd

Metti questo file in qualsiasi cartella. Quindi, vai alla cartella Invia a (Win+E;Alt+D; Shell:sendto;Enter). Créer une archive à la main pour une question open_dos_here.cmd

Quindi, dans qualsiasi cartella, selezionare qualsiasi file o sottocartella. Cliquez sur ce que vous voulez pour choisir votre choix "Invitez-vous" et choisissez votre choix _open_dos_here.cmd par april il DOS in quella cartella.

47
Alvin SIU

vous voulez probablement faire ceci:

cd /d %~dp0
cmd.exe

cela définira votre répertoire actuel sur le répertoire dans lequel vous avez le fichier de commandes

91
Chris

Vous pouvez simplement entrer cmd dans la barre d’adresse de l’explorateur et cela démarre dans ce chemin. De même pour PowerShell.

24
Joey

Il y a moyen plus simple

start /d "folder path"
10
s-f

En tant que solution plus générale, vous pouvez consulter le logiciel Microsoft Power Toy pour XP qui ajoute l’option "Ouvrir la fenêtre de commande ici" lorsque vous cliquez avec le bouton droit de la souris: http://www.Microsoft.com/windowsxp /downloads/powertoys/xppowertoys.mspx

Sous Vista et Windows 7, vous aurez cette option si vous maintenez la touche Maj enfoncée et cliquez avec le bouton droit de la souris (cela est intégré).

7
DKnight

Je pense que si vous créez un script de traitement par lots reposant sur le répertoire actuel défini dans le dossier contenant le fichier de traitement par lots, vous vous créez un problème lorsque vous essayez d'exécuter le fichier de traitement à l'aide d'un chemin d'accès complet comme vous le feriez d'un programmateur.

Mieux vaut ajouter cette ligne à votre fichier de commandes aussi:

REM Change Current Directory to the location of this batch file 
CD /D %~dp0

sauf si vous qualifiez pleinement tous vos chemins.

6
ChadD

C'est peut-être une vieille quête, mais pour ceux qui, comme moi, recherchent cela sur Google, vous pouvez maintenir Shift et cliquer avec le bouton droit de la souris sur le dossier. De cette façon, le menu du contenu affichera la fenêtre de commande ouverte ici.

2
Hugo Mesquita

La manière la plus simple dans l'Explorateur est de déplacer Maj + clic droit de la souris sur le dossier ou sur un espace vide du dossier et de cliquer sur Open command Prompt here.

CMD va alors démarrer dans ce dossier

Je dois dire que je ne suis pas sûr que cela fonctionne pour Windows Vista et les versions antérieures, mais cela fonctionne sûrement pour Windows 7, 8, 8.1 et 10.

2
Dediqated

Une autre solution consiste à utiliser un fichier de raccourci vers cmd.exe au lieu d’un fichier de traitement par lots.

Modifiez le raccourci début dans propriété en% ~ dp0 .

Vous obtenez la même chose, sauf qu’il a l’icône Cmd (et vous pouvez le changer).

Certaines personnes n'aiment pas cliquer sur les fichiers de commandes sans savoir ce qu'ils contiennent, et certains lecteurs de réseau d'entreprise interdisent les fichiers .bat ...

2
andyhasit

Vous pouvez ajouter une entrée de menu contextuel via le registre:

  1. Accédez à HKEY_LOCAL_MACHINE/Software/Classes/Folder/Shell Dans votre registre et créez une clé appelée "Invite de commandes" sans les guillemets.

  2. Définissez la chaîne par défaut sur le texte que vous souhaitez voir apparaître dans le menu contextuel.

  3. Créez une nouvelle clé dans l'invite de commande que vous venez de créer nommée "commande" et définissez la chaîne par défaut sur

    cmd.exe /k pushd %1
    

Vous devrez peut-être ajouter %SystemRoot%\system32\ avant le fichier cmd.exe si l'exécutable est introuvable.

  1. Les changements devraient avoir lieu immédiatement. Faites un clic droit sur un dossier et votre nouvel élément de menu devrait apparaître.

Voir aussi http://www.petri.co.il/add_command_Prompt_here_shortcut_to_windows_Explorer.htm

2
mit

La commande la plus simple pour faire ceci:
start

Vous pouvez toujours l'exécuter en ligne de commande pour ouvrir une nouvelle fenêtre de ligne de commande au même endroit. Ou vous pouvez le placer dans votre fichier .bat.

2
Michael Kalygin

Se référant à la réponse de @Chris,

Nous pouvons également aller au répertoire parent du fichier de commandes et exécuter les commandes en utilisant

cd /d %~dp0..
<OTHER_BATCH_COMMANDS>
cmd.exe

Pour comprendre le fonctionnement de la commande cd /d %~dp0.., reportez-vous au lien ci-dessous.

Qu'est-ce que cela signifie par la commande cd/d% ~ dp0 sous Windows

1
Mr. Noddy

Créez un nouveau fichier startCmdLine.bat dans votre répertoire et mettez-y cette ligne

call cmd

C'est ça. Maintenant, double-cliquez sur le fichier .bat. Ça marche pour moi.

Vous pouvez remplacer call par start, cela fonctionnera également.

1
filip

tu peux essayer:

shift + right click

puis, cliquez sur Ouvrir l'invite de commande ici

0
elfekz

Dans un dossier donné, cliquez sur le haut Barre d'adresse et tapez cmd et cliquez sur entrée Cela ouvrira l'invite de commande avec l'adresse du dossier actuel.

0
codemirror

Un peu tard dans le jeu mais si je comprends bien vos besoins, cela aidera les gens avec le même problème.

Deux solutions avec la même première étape:.

Première solution:

  • Cliquez sur "Démarrer"
  • Faites un clic droit sur "Ordinateur" (ou "Poste de travail)
  • Cliquez sur "Propriétés"
  • Sur la gauche, cliquez sur "Paramètres système avancés".
  • Cliquez sur "Variables d'environnement"
  • Dans la zone "Variables système", faites défiler vers le bas et sélectionnez "CHEMIN".
  • Cliquez sur "Modifier"
  • Dans le champ "Valeur variable", faites défiler tout le chemin à droite
  • S'il n'y a pas encore de point-virgule (;), ajoutez-le.
  • Collez dans le chemin de fichier que vous avez copié précédemment.
  • Terminez avec un point-virgule.
  • Cliquez sur OK"
  • Cliquez à nouveau sur "OK"
  • Cliquez "OK" une dernière fois

Vous pouvez maintenant utiliser n'importe lequel de vos scripts comme si vous étiez déjà dans ce dossier.

Deuxième solution: (peut facilement être associé à la première pour une utilité supplémentaire)

Sur votre bureau, créez un fichier de commandes avec le contenu suivant.

@echo off
cmd /k cd "C:\your\file\path"

Cela ouvrira une fenêtre de commande semblable à celle que vous avez essayé de faire.


Pour des tonnes d’informations sur les commandes Windows, consultez ici: http://ss64.com/nt/

0
Tim Harden

ce code fonctionne pour moinom il cmd.bat

@echo off
title This is Only A Test
echo.
:Loop
set /p the="%cd%"
%the%
echo.
goto loop
0
Viscarr