[研究] Windows 如何讓程式執行 5 分鐘後自動關閉 ?
2023-05-16
您可以使用 Windows 中的命令提示字元 (Command Prompt) 或 PowerShell 執行以下命令,讓程式在 5 分鐘後自動關閉:
timeout 300 & taskkill /im <程式名稱>.exe /f
請將 <程式名稱> 替換為您要關閉的程式的名稱,例如 Notepad.exe。此命令會等待 5 分鐘 (300 秒),然後強制關閉指定的程式。
例如:timeout 5 & taskkill /im notepad.exe /f
如果您要執行的程式需要以特定的方式啟動,請將上述命令放入一個批次檔案 (.bat) 中,並將您要啟動的程式名稱添加到檔案中。例如:
start <程式名稱>.exe
timeout 300
taskkill /im <程式名稱>.exe /f
這個批次檔案將啟動指定的程式,等待 5 分鐘,然後強制關閉該程式。
********************************************************************************
Windows 如何偵測到 Notepad.exe 程式執行 5 秒後自動關閉 ? 持續監控
ChatGPT
要在Windows中偵測Notepad.exe程式執行5秒後自動關閉,可以使用PowerShell腳本來持續監控該程式的運行狀態。下面是一個示例腳本:
$processName = "notepad" # 設定Notepad.exe程式的進程名稱
$timeout = 5 # 設定監控的時間閾值(秒)
$process = Start-Process -FilePath "notepad.exe" -PassThru
while(!$process.HasExited) {
Start-Sleep 1 # 每秒監控一次
$timeout--
if($timeout -le 0) {
# 已經超過閾值,Notepad.exe仍然運行
Write-Host "Notepad.exe運行超過5秒"
taskkill /im notepad.exe /f
break
}
}
if($process.HasExited) {
# Notepad.exe已經關閉
Write-Host "Notepad.exe已經關閉"
}
|
這個腳本首先使用Start-Process命令啟動Notepad.exe程式,並通過-PassThru參數獲取該進程的物件。然後,在一個無窮迴圈中,每秒檢查一次該進程是否已經結束。如果進程已經結束,則表示Notepad.exe已經關閉;如果超過5秒仍然運行,則表示Notepad.exe運行超過了預期的時間閾值。
請注意,您需要將此腳本保存為.ps1檔案,然後在PowerShell中運行。同時,請確保在運行腳本時具有足夠的權限以啟動和監控進程。
PS C:\temp> 1.ps1 1.ps1 : 無法辨識 '1.ps1' 詞彙是否為 Cmdlet、函數、指令檔或可執行程式的名稱。請檢查名稱拼字是否正確,如果包含路徑的話, 請確認路徑是否正確,然後再試一次。 位於 線路:1 字元:1 + 1.ps1 + ~~~~~ + CategoryInfo : ObjectNotFound: (1.ps1:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException Suggestion [3,General]: 找不到 1.ps1 命令,但它確實存在於目前的位置。Windows PowerShell 預設並不會從目前的位置載入命令。如果您信任這個命令,請改為輸入 ".\1.ps1"。如需詳細資料,請參閱 "get-help about_Command_Precedence" 。 PS C:\temp> dir 1.ps1 目錄: C:\temp Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 2023/5/16 上午 09:26 496 1.ps1 PS C:\temp> |
PowerShell 執行 .ps1 要加上路徑
********************************************************************************
(完)
沒有留言:
張貼留言