cmd.commutateur exe / k

j'essaie de passer à un répertoire en utilisant cmd puis d'exécuter un fichier batch

par exemple

cmd /k cd "C:myfolder"
startbatch.bat

j'ai aussi essayé (sans succès)

cmd cd /k cd "C:myfolder" | startbatch.bat

bien que la première ligne (cmd /k) semble fonctionner correctement, mais la seconde commande n'est jamais exécutée. J'utilise Vista comme OS

25
demandé sur Mike 2012-01-03 18:44:24

6 réponses

la syntaxe correcte est:

cmd /k "cd c:\myfolder & startbatch.bat"
44
répondu Sedat Kapanoglu 2012-01-03 14:48:02

ssg a déjà posté la bonne réponse. Je tiens seulement à ajouter le commutateur /d cd commande (par exemple. cd /d drive:\directory). Cela garantit que la commande fonctionne au cas où répertoire courant est sur un lecteur différent que le répertoire que vous voulez cd.

8
répondu MBu 2012-01-10 11:44:40
cmd cd /k "cd C:\myfolder; startbatch.bat"

ou, pourquoi ne pas vous lancer cmd /k c:\myfolder\startbatch.bat, et ne cd c:\myfolder dans le .le dossier bat?

2
répondu nothrow 2012-01-03 14:48:39

Vous pouvez utiliser & ou && comme séparateur de commandes dans Windows.

Exemple:

cmd cd /K "cd C:\myfolder && startbatch.bat"
1
répondu RaffaelNagel 2015-05-26 13:30:51

je donne cette réponse parce que j'ai vu cette question dans un commentaire et je ne peux pas encore le commenter.

cmd /k "cd c:\myfolder & startbatch.bat"

fonctionne, et si vous avez des espaces:

cmd /k "cd "c:\myfolder" & startbatch.bat"

D'après ce que j'ai compris, la commande est passée au cmd comme "cd "c:\myfolder" & startbatch.bat", qui est ensuite décomposé en cd "c:\myfolder"&startbatch.bat à quel point le reste " " s'occupe du chemin comme chaîne.

vous pouvez aussi utiliser &&,| et || selon ce que vous voulez atteindre.

0
répondu Knut Gjerden 2015-11-02 12:53:03

Je ne vois pas de réponse à cette question, donc si quelqu'un a besoin d'accéder à un répertoire qui a de l'espace dans son nom, vous pouvez ajouter des guillemets supplémentaires, par exemple

cmd.exe /K """C:\Program Files (x86)\Microsoft Visual Studio17\Community\VC\Auxiliary\Build\vcvars64.bat"" & powershell.exe"

à Partir de PowerShell vous avez besoin d'échapper les guillemets à l'aide de la backquote `

cmd.exe /K "`"C:\Program Files (x86)\Microsoft Visual Studio17\Community\VC\Auxiliary\Build\vcvars64.bat`" & powershell.exe"

remarquez les guillemets échappés

`"

à l'intérieur de la chaîne de chemin:

"`"C:\my path\`""

execute la commande appropriée dans cmd, c'est à dire le chemin entouré de guillemets qui devrait fonctionner.

la commande d'exemple ci-dessus initialise L'invite de commande MSVC developer et retourne à PowerShell, héritant de l'environnement et donnant accès aux outils MSVC.

0
répondu Bhyd 2017-08-26 13:11:13