2014-01-13 234 views
0

Windows 7 CMD.exe樣式批量BAT關機與倒計時延遲

我不確定這將工作完美無瑕。我覺得有些時候TIMEOUT結束了,蝙蝠自己執行SHUTDOWN -ABORT。我希望用戶只需按一個鍵就可以停止關機倒計時(最好只是COMMENT「OK」按鈕就足夠了),否則可以完美地關閉計算機。

if exist "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" ("C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 vlc://quit) else goto end 
shutdown -s -t 120 -c "Press any key in the Command Prompt to cancel the shutdown." 
timeout -t 120 
shutdown -a 

我認爲增加一個PING 999.999.999.999 -n 1 -w 1000迫使短暫的等待,但如果用戶按下一個鍵,然後將中止關機前等待,這也可能導致問題。

+0

更改這個'啓動 「C:\ Program Files文件\ GlovePIE045Free \ piefree.exe」''來啓動 「」 「C:\ Program Files文件\ GlovePIE045Free \ piefree.exe」'作爲第一個引用的術語用於作爲窗口標題。 '「」'然後被用作空標題。 – foxidrive

+0

是啊,我想'開始 「」 「C:\ Program Files文件\ GlovePIE045Free \ piefree.exe」 - 「C:\ Program Files文件\ GlovePIE045Free \的CustomScripts \ xbox360VLCremote.PIE」/ tray' 但它與[返回 - 「C :\程序不是一個有效的程序] – Zer0Ry0k0

+0

等待,我只是試了一下,它運行了兩個程序(耶),但VLC沒有製作播放列表,只運行用於拖動整個文件的文件夾 – Zer0Ry0k0

回答

0

這使用Choice以提供延遲和錯誤級別檢查,因此,如果被按下C時將中止。它還提供了一個額外的選項立即關閉。

超時不提供有關中止的ERRORLEVEL所以按任意鍵可退出似乎並沒有成爲一種選擇。

@echo off 
if exist "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" ("C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 vlc://quit) else (goto :EOF) 
choice /c CS /D S /T 120 /M "Waiting for 120 seconds: Press C to cancel shutdown, or S to shutdown now" 
if errorlevel 2 shutdown -s 
+0

不管用戶是否按下任何按鍵,120秒後都不會關機嗎? – unclemeat

+0

@unclemeat是的,您是對的。 AB OVE。 – foxidrive

+0

這很好,謝謝。我在看到這篇文章之前編輯了我的文章,無法添加另一個程序來啓動。 – Zer0Ry0k0

0

看看使用choice command。您可能需要下載它,具體取決於您的操作系統。

這將等待關機前300秒,如果不按q

choice /c aq /n /d a /t 300 /m "Computer shutting down in 300 seconds [q to cancel]" 
if %errorLevel%==1 shutdown -a 
+0

感謝您的鏈接。 – Zer0Ry0k0

+0

沒有問題 - 請您將其中一個答案標記爲正確,因此此問題不會保持打開狀態嗎? – unclemeat

+0

對不起,希望得到對另一個問題的迴應,我把它作爲自己的問題。 http://stackoverflow.com/questions/21151408/bat-start-w-command-recognized – Zer0Ry0k0