2016-09-14 73 views
0

我正在使用第三方exe從我的批處理腳本中發送電子郵件。我一直在不同的機器上測試我的腳本,並且在其中一臺機器上發送電子郵件命令而不能繼續。如果需要的時間過長,請跳過命令

我想在這裏添加一個支票,如果它需要太長時間給我發電子郵件,那麼我想終止命令並在腳本中繼續。

該腳本將外部客戶機也可以使用,我不希望他們永遠與消息粘在CMD說:「更新:」

請指教。

回答

1

在二次加工開始你的命令,並殺死在超時後(我用ping -t,因爲「卡」):

@echo off 
start "MyStuckingCommand" ping -t www.google.de 
timeout 10 
taskkill /f /fi "WindowTitle eq MyStuckingCommand" 
+0

您能否解釋一下ping ping谷歌的目的?另外我怎麼能抑制第一行的輸出,以便用戶運行腳本不會看到它?並在最後一行「WindowTitle eq MyStuckingCommand」這是幹什麼的? – irish

+0

好吧,它通過在一行'start \ b「命令中添加所有內容'&timeout \ t 10&taskkill' – irish

+0

如果您願意,您還可以ping'yahoo.com' ...不,嚴重:我只好使用任何不會結束的命令,而'ping/t'是我首先想到的。 * ping什麼*無關緊要。 – Stephan

1

考慮Windows作業對象。它們允許指定超時(和其他限制)。

+0

感謝,而不是在批的專家,所以尋求一些幫助這裏。 – irish