windows - cmd.exe/k switch

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at skifte til en mappe ved hjælp af cmd og derefter udføre en batch-fil


f.eks.


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


Jeg har også forsøgt (uden succes)


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


Selv om den første linje (cmd/k) ser ud til at køre ok, men den anden kommando aldrig køres. Jeg bruger Vista som OS

Bedste reference


Korrekt syntaks er:


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

Andre referencer 1


ssg allerede skrevet korrekt svar. Jeg ville kun tilføje/d skifte til kommandoen cd (f.eks. cd /d drive:directory). Dette sikrer kommandoen fungerer, hvis den aktuelle mappe er på et andet drev end den mappe, du vil cd til.

Andre referencer 2


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


eller hvorfor bruger du ikke cmd /k c:myfolderstartbatch.bat og gør cd c:myfolder i .bat-filen?

Andre referencer 3


Du kan bruge & eller && som kommandoseparator i Windows.


Eksempel:


cmd cd /K "cd C:myfolder && startbatch.bat"

Andre referencer 4


Jeg giver dette som et svar, fordi jeg så dette spørgsmål i en kommentar og ikke kan kommentere endnu.


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


arbejder, og hvis du har mellemrum:


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


Som jeg forstår er kommandoen overført til cmd som "cd "c:myfolder" & startbatch.bat", som derefter opdeles i cd "c:myfolder" & startbatch.bat på hvilket tidspunkt de resterende " " tager pleje vejen som streng.


Du kan også bruge &&, | og || afhængigt af, hvad du vil opnå.

Andre referencer 5


Jeg kan ikke se et svar der adresserer dette, så hvis nogen har brug for adgang til en mappe, der har plads i sit navn, kan du tilføje yderligere citater, for eksempel


cmd.exe /K """C:Program Files (x86)Microsoft Visual Studio2017CommunityVCAuxiliaryBuildvcvars64.bat"" & powershell.exe"





Fra PowerShell er du nødt til at undslippe citaterne ved hjælp af backquote'en


cmd.exe /K "`"C:Program Files (x86)Microsoft Visual Studio2017CommunityVCAuxiliaryBuildvcvars64.bat`" & powershell.exe"


Bemærk de undslippede citater


`"


inde i stien strengen:


"`"C:my path`""


Dette vil udføre den korrekte kommando i cmd, det vil sige stien omgivet af citater, som skal fungere.


Eksempelkommandoen ovenfor vil initialisere MSVC Developer-kommandoprompten og gå tilbage til PowerShell, arve miljøet og give adgang til MSVC-værktøjerne.