2013-03-06 12 views
1

我一直在試圖創建一個批處理文件觸發我的Windows 8電腦開始關閉30秒過後,並且還有一個警告消息: 「您的電腦將在30秒內關機!請按取消按鈕以中止關機。」我創建了我的桌面上以下批處理文件:電腦關機命令與中止選項,將在Windows 8中工作

關機/ S/C「您的PC將關閉在30秒/噸,30

和:

關機/ A

和它確實關閉了電腦,但消息直到30秒後才顯示,並在1秒內消失,並開始關閉而無法停止它,甚至在30秒之前嘗試關機/一個批處理文件在停止關機時沒有運氣。

Windows 8的命令不正確嗎?

我想有一個腳本彈出消息警告,並在30秒過期前取消(中止)按鈕,或者至少讓2個批處理文件在Windows 8中工作,並帶有警告消息並終止批處理文件同時工作。

不知道如果Windows 8有一個命令或一些工作,但希望得到它的工作。任何幫助非常感謝!

非常感謝!

比利

回答

0

嘗試

@echo off 
echo Your PC will shutdown in 30 seconds! Press CTRL+C to abort. 
ping -n 31 127.0.0.1>nul 
shutdown /s 

ping命令暫停批處理腳本的時間所需量的安全方式。 更多的信息在這裏:How to wait in a batch script?

按下Ctrl-C將中止批處理腳本繼續。

+0

jtheman,感謝您的快速回復!您的答案通過立即提出cmd提示並且CTRL + C起作用。我並不期待cmd提示(黑盒)類型的警報,但它確實有效。除了cmd提示之外的其他任何方式?我將你的代碼保存爲一個.bat文件。是否可以使用A或C鍵之類的單個鍵或F12等功能鍵來中止?我無法對您的幫助表示感謝,並期待您的回覆! – Billy 2013-03-07 08:32:10

+0

那麼它比你想象的更復雜 - 如果你想讓倒計時繼續,並允許在超時期間自定義按鍵中止。另外,Ctrl-C作爲一般的異常終止功能非常簡單。但否則看到這個職位:http://stackoverflow.com/questions/12331428/how-to-ask-for-batch-file-user-input-with-a-timeout(Gaurav的例子不會作爲中止按鍵A要麼必須在30秒延遲之前或之後發生 - 不要延遲) – jtheman 2013-03-07 19:54:34

+0

jtheman,我同意你的意見。查看帖子後更加複雜。我將僅使用CTRL + C選項使用您的工作批處理。我非常感謝你的幫助! – Billy 2013-03-08 03:32:51

0

你好你可以試試這個,

@echo off 
echo "Your System will shutdown in 30 seconds. To abort press A" 
SET Option=Choice: 
if "%Option%"=="A" GOTO Sub_MenuA 
shutdown /s 
:Sub_MenuA 
exit 0 
+0

Gaurav Kolarkar,感謝您的快速回復!您的答案通過立即提示cmd提示符(黑匣子),但按A確實可行,並且不會等待30秒。它在數秒內開始關閉。任何想法來解決這個問題?非常感謝您的幫助,我期待您的回覆!謝謝! – Billy 2013-03-07 08:41:19

0

嗨嘗試,我創建並使用計劃任務,是有趣的使用這種小聰明的代碼。

title GO HOME 
@echo off 
:MAIN 
echo. 
echo. 
echo. 
echo Do you wanna shut down? 
echo. 
echo The time is %time% 
echo. 
echo. 
echo. 
echo. 
set /p input= y or n?  
if %input%==n goto work 
if %input%==y call bye.bat 

:work 
echo. 
echo. 
echo. 
echo. Alright, keep working busy bee. 

TIMEOUT 5 

再創建一個批處理文件,並保存爲bye.bat和複製粘貼此代碼:

echo Have a nice evening, Cya. 

shutdown.exe /s /t 0 
0

這是比較容易,並已在廚房Windows 8的

:: Shutdown.bat 
:: Messages a forced shutdown then waits for a Ctrl+C to abort, 
:: any key to execute immediately, or shuts all programs and 
:: the computer down after Timeout /t (n) seconds automatically. 
:: 
@echo off 
echo. 
echo. 
:: 
echo Press Ctrl+C to Abort imminent Shutdown because I'm 
timeout /t 120 
:: 
shutdown.exe /s /t 5 
exit 
+0

如果您正在使用Task Scheduler在特定時間調用關機,請像這樣調用它,以便命令控制檯顯示:::使用cmd/k調用shutdown.bat以顯示控制檯窗口 :: even如果由任務計劃程序調用 :: cmd/k shutdown.bat exit – Steve987 2013-08-13 22:14:02

0
測試

這是另一種選擇。該BAT文件詢問用戶是/否問題以確定是否應該繼續關機。無需用戶按CTRL + C中止。直到用戶輸入選項後,關機纔會繼續。

@ECHO OFF 
:: This batch file allows the user to choose to shutdown immediately, or cancel and return to Windows 
:: 
CD\ 
CLS 
ECHO. 
:LOOP 
ECHO Would you like to shutdown immediately? 
ECHO. 
ECHO Y = SHUTDOWN IMMEDIATELY (WARNING!! Unsaved work will be lost) 
ECHO N = CANCEL and return to Windows 
ECHO. 
SET Choice= 
SET /P Choice=TYPE YOUR CHOICE AND PRESS ENTER: 
IF NOT '%Choice%'=='' SET Choice=%Choice:~0,1% 
ECHO. 
IF '%Choice%'=='y' GOTO ShutdownNow 
IF '%Choice%'=='n' GOTO Leave 
ECHO "%Choice%" is not valid. Please try again. 
ECHO. 
GOTO Loop 
:ShutdownNow 
ECHO. 
shutdown /s /t 1 

:Leave 
Exit 
相關問題