web-dev-qa-db-fra.com

ouvrir la fenêtre d'invite de commande et changer le répertoire de travail courant

Je suis terriblement nouveau en script sur Windows. Utilisation de Windows 7 64.

J'essaie de créer un fichier .bat sur lequel je peux cliquer deux fois et lui faire ouvrir une invite de commande et cd moi automatiquement dans un certain répertoire.

J'ai essayé de créer un fichier .bat avec

@ECHO OFF
cmd "cd C:\my\destination"

Ce qui ouvre ce qui ressemble à une invite de commande, mais ne semble pas me laisser taper de commande.

J'ai alors essayé:

@ECHO OFF
start cmd "cd C:\my\destination"

Mais cela m’a simplement envoyé dans une boucle ouvrant des tonnes et des tonnes de messages jusqu’à ce que mon ordinateur se bloque :) Le fichier .bat était situé dans le répertoire de destination, si cela comptait.

34
goat

Cela fonctionne pour moi:

@ECHO OFF
cmd.exe /K "cd C:\my\destination && C:"

La chaîne entre guillemets est en fait de deux commandes (séparées par un double et commercial): la première commande consiste à accéder au répertoire spécifié, la seconde à la lettre de lecteur spécifiée.

Placez ceci dans un fichier batch (.bat) et, lorsque vous l'exécuterez, vous devriez voir une fenêtre d'invite de commande dans le répertoire spécifié.

70
Bernard

Utilisez le commutateur/K :

@ECHO OFF
start cmd.exe /K "cd C:\my\destination"

Mais à mon humble avis, le commutateur le plus utile est /?

Starts a new instance of the Windows XP command interpreter

CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
    [[/S] [/C | /K] string]

/C      Carries out the command specified by string and then terminates
/K      Carries out the command specified by string but remains
/S      Modifies the treatment of string after /C or /K (see below)
/Q      Turns echo off
...

Et seulement si cela ne fonctionne pas, alors Google, comme l'a suggéré @Neeraj: D

8
user159088
@ECHO OFF
%comspec% /K "cd /D d:\somefolder"

Le lecteur/D modifiera le dossier dossier et et fonctionnera sous 2000+ (Incertain sur NT4)

Si vous regardez la commande open de Vista ici, il utilisera cmd.exe /s /k pushd \"%V\" mais je ne pense pas que% V soit documenté. Utiliser pushd est une bonne idée si votre chemin est UNC (\\server\share\folder). Pour que le répertoire courant UNC fonctionne, vous devrez peut-être définir l'entrée DisableUNCCheck registry ...

3
Anders

Cela pourrait être fait comme ça:

@ECHO OFF
cd /D "C:\my\destination"
cmd.exe

Si vous avez besoin d'exécuter un fichier ou une commande après avoir ouvert la cmd, vous pouvez simplement remplacer la dernière ligne par: 

cmd.exe /k myCommand
2
Jorciney

Pourquoi si compliqué? Créez simplement un alias pour cmd.exe, faites un clic droit sur l’alias et accédez à ses paramètres. Changez le "Exécuter en" pour le chemin que vous voulez avoir comme chemin standard. Cela commencera toujours dans cette voie.

2
Stefan Seibert

Vous pouvez créer un fichier de commandes "go-to-folder.bat" avec les instructions suivantes:

rem changes the current directory
cd "C:\my\destination"
rem changes the drive if necessary
c:
rem runs CMD
cmd
0
Michael

il suffit d'ouvrir un éditeur de texte et de taper

start cmd.exe

cd C:\desired path

Puis enregistrez-le en tant que fichier .bat. Travaille pour moi.

0
blurple