Saya memiliki mesin virtual Server 2012 R2 Standard 64 Bit yang bertingkah aneh. File kelelawar berfungsi dengan baik dan jendela CMD tertutup secara normal; tetapi jika folder yang berisi file bat ditutup selama eksekusi file bat itu akan selesai tetapi jendela CMD tidak menutup. Saya telah menyederhanakan ini sampai memiliki file bat paling sederhana. Ini berisi 1 baris. jeda
- Buka folder yang berisi file bat dengan Windows Explorer
- Mulai file bat dengan mengklik dua kali
- Tutup jendela Windows Explorer
- Tekan tombol apa saja di jendela CMD
- Kursor bergerak ke baris berikutnya saat file bat selesai
- Jendela CMD tetap ada
Ini hanya terjadi pada satu mesin. Adakah yang tahu mengapa ini terjadi? Ini adalah tes VM dan mungkin harus dibangun kembali, tetapi saya penasaran. Terima kasih
Saya mengganti file bat sederhana saya dengan yang berisi berikut ini:
@assoc .bat
@for /F "tokens=1,* delims==" %%G in ('assoc .bat') do @ftype %%H
@reg query "HKLM\Software\Microsoft\Command Processor" /v AutoRun 2>NUL
@reg query "HKCU\Software\Microsoft\Command Processor" /v AutoRun 2>NUL
@wmic process where "caption = 'cmd.exe'" get CommandLine, ParentProcessId, ProcessID
@echo please close Windows Explorer before continuing
@pause
@wmic process where "caption = 'cmd.exe'" get CommandLine, ParentProcessId, ProcessID
@pause
Hasilnya ditunjukkan di bawah ini:
.bat=batfile
batfile="%1" %*
CommandLine ParentProcessId ProcessId
C:\Windows\system32\cmd.exe /c ""D:\test.bat" " 1608 8460
please close Windows Explorer before continuing
Press any key to continue . . .
CommandLine ParentProcessId ProcessId
C:\Windows\system32\cmd.exe /c ""D:\test.bat" " 1608 8460
Press any key to continue . . .
Garis komando
13/04/2016 Saya menemukan sedikit lebih banyak dengan melihat Task Manager saat melakukan ini. Ketika saya memulai file bat 2 baris muncul di Task Manager - Detail window ... 1 untuk cmd.exe dan 1 untuk conhost.exe. Ketika kelelawar selesai cmd.exe hilang, tetapi conhost.exe tetap. Satu hal lain yang saya perhatikan adalah Anda tidak benar-benar harus keluar dari folder Windows Explorer seperti yang saya katakan sebelumnya ... yang harus Anda lakukan adalah mengklik di mana saja di jendela Explorer. Jika saya tidak mengklik di mana saja di jendela Explorer, jendela CMD untuk file bat ditutup secara normal dan kedua tugas menghilang dari jendela rincian seperti yang kita harapkan.
sumber
exit
perintah untuk menutup jendela CMD. Mungkin ini bisa membantu.Jawaban:
Ini tidak mungkin tetapi Anda tampaknya telah mengesampingkan semua hal yang mungkin. Periksa dua entri registri berikut untuk melihat apakah mereka mengandung sesuatu:
atau
Apa pun yang ada di sana akan dipanggil setiap kali Anda menjalankan file batch, dan jika memiliki
cmd /k
itu akan menyebabkan perilaku ini.sumber
Sudahkah Anda mencoba ini?
Hal yang sama, tetapi memungkinkan sama seperti jeda dan keluar dengan sendirinya.
Juga, mengapa Anda meletakkan @ di depan segalanya? Mengapa tidak menggunakan @echo sebelum perintah lainnya?
sumber