Soru cmd.exe / k anahtarı


Cmd kullanarak bir dizine geçmeyi ve sonra bir toplu iş dosyasını çalıştırmayı deniyorum

Örneğin.

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

Ben de denedim (başarıya ulaşmadan)

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

İlk satır (cmd / k) düzgün çalıştığı halde, ancak ikinci komut hiçbir zaman çalışmaz. Vista'yı işletim sistemi olarak kullanıyorum


25
2018-01-03 14:44


Menşei


Yukarıdaki sorunun Super User Stack Exchange forumuyla daha alakalı olması mümkün mü? - Peter David Carter
Yığın Taşması, programlama ve geliştirme soruları için bir sitedir. Bu soru konu dışı görünmektedir, çünkü programlama veya geliştirme ile ilgili değildir. Görmek Burada hangi konuları sorabilirim? Yardım Merkezi’nde belki Süper Kullanıcı sormak için daha iyi bir yer olurdu. - jww


Cevaplar:


Doğru sözdizimi şöyledir:

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

43
2018-01-03 14:48



hala 7 galibiyette çalışıyor - stackuser83
Dizin "c: \ klasörüm \" (boşluk) dikkat ederse ne yapmalıyım? - Evan Larsen
@EvanLarsen bu iyi bir soru ve cevabı bilmiyorum. eğer yaparsan haberim olsun. - Sedat Kapanoglu
IntelliJ'te cmder çalıştırmak için örnek, "K" büyük harfine dikkat edin: "cmd.exe" / K ""% CMDER_ROOT% \ vendor \ init.bat "" - Benj
@EvanLarsen Sadece bir boşluk içeren bir klasör kullanarak test ettim ve bu iyi çalıştı. - Noumenon


ssg zaten doğru cevabı yayınladı. Sadece / d geçiş yapar cd komut (ör. cd /d drive:\directory). Bu, geçerli dizinin cd yapmak istediğiniz dizinden farklı bir sürücü olması durumunda komutun çalışmasını sağlar.


8
2018-01-10 11:44





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

ya da neden koşmuyorsun cmd /k c:\myfolder\startbatch.batve yap cd c:\myfolder .bat dosyasında?


2
2018-01-03 14:48



Ben düşünmüyorum ; Windows toplu komut dosyası içinde komut ayırıcı olarak kullanılabilir. Tipik & bunun yerine kullanılır. - Andriy M


Kullanabilirsiniz & veya && Windows'da komutlar ayırıcı olarak.

Örnek:

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

1
2018-05-26 12:55





Bunu bir cevap olarak verdim çünkü bu soruyu bir yorumda gördüm ve henüz yorum yapamam.

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

çalışır ve boşluklarınız varsa:

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

Anladığım kadarıyla komut cmd olarak geçiyor "cd "c:\myfolder" & startbatch.bat", daha sonra içine bozuldu cd "c:\myfolder"  &  startbatch.bat kalan noktada " " yolu dize olarak ele alır.

Ayrıca kullanabilirsiniz &&, | ve || Neye ulaşmak istediğinize bağlı olarak.


0
2017-11-02 12:53



Arasındaki farkı keşfetmek isteyenler için &, &&, | ve ||: chebucto.ns.ca/~ak621/DOS/DOS-Char.html - Marc


Bunu yanıtlayan bir yanıt göremiyorum. Bu nedenle, adında boşluk bulunan bir dizine erişmek isteyen herkes varsa, ek alıntılar ekleyebilirsiniz.

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

PowerShell'den, backquote'u kullanarak alıntılardan kaçınmanız gerekir.

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

Kaçan alıntılara dikkat edin

`"

yol dizesinin içinde:

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

Bu, uygun komutu cmdyani çalışması gereken tırnaklarla çevrili yol.

Yukarıdaki örnek komut, MSVC geliştirici komut istemini başlatır ve çevreyi miras alarak ve MSVC araçlarına erişim sağlayarak PowerShell'e geri döner.


0
2017-08-25 10:39



toplu işten kaçmayı hiç duymadım. - Stephan
Doğru, cevabı doğru örnekle güncelledim cmd. Diğer örnek aramak içindi cmd itibaren powershell. Umarım cevap şimdi daha açıktır. - Bhyd