Garip davranan bir Server 2012 R2 Standard 64 Bit sanal makinem var. Yarasa dosyaları iyi çalışıyor ve CMD penceresi normal olarak kapanıyor; ancak yarasa dosyasının yürütülmesi sırasında yarasa dosyasını içeren klasör kapatılırsa biter, ancak CMD penceresi kapanmaz. Bunu mümkün olan en basit yarasa dosyasına sahip olana kadar basitleştirdim. 1 satır içerir. Duraklat
- Windows Gezgini ile bat dosyasını içeren klasörü açın
- Yarasa dosyasını çift tıklatarak başlatın.
- Windows Gezgini penceresini kapatın
- CMD penceresinde herhangi bir tuşa basın
- Yarasa dosyası bittiğinde imleç sonraki satıra taşınır
- CMD penceresi kalır
Bu sadece bir makinede olur. Bunun neden olabileceğini bilen var mı? Bu bir test VM'sidir ve belki de yeniden inşa edilmelidir, ama beni meraklandırıyor. Teşekkürler
Basit yarasa dosyamı aşağıdakileri içeren bir dosyayla değiştirdim:
@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
Sonuçlar aşağıda gösterilmiştir:
.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 . . .
Komut satırı
04/13/2016 Bunu yaparken Görev Yöneticisi'ne bakarak biraz daha öğrendim. Yarasa dosyasını başlattığımda Görev Yöneticisi - Ayrıntılar penceresinde 2 satır görünür ... cmd.exe için 1 ve conhost.exe için 1 satır. Yarasa bittiğinde cmd.exe kaybolur, ancak conhost.exe kalır. Fark ettiğim bir diğer şey de, daha önce belirttiğim gibi Windows Gezgini klasöründen gerçekten çıkmak zorunda olmamanız ... Tek yapmanız gereken, Explorer penceresinde herhangi bir yeri tıklamaktır. Explorer penceresinde hiçbir yere tıklamazsam, yarasa dosyasının CMD penceresi normal olarak kapanır ve her iki görev de beklediğimiz gibi ayrıntılar penceresinden kaybolur.
exit
, CMD penceresini kapatmak için komuttan açıkça bahsettiğim bir geçici çözüm olarak VM'imden birinde de aynı sorunu yaşadım . Belki bu yardımcı olabilir.