解釋
我想在登入時運行一些程序/文件,所以我使用任務計劃程序,而不是啟動資料夾或腳本,因為我相信某些程序需要UAC 提升,而任務計劃程序的“以最高權限運行”將抑制提示。
問題
第一個操作永遠不會正確退出,因此,由於任務操作是同步的,因此只有第一個操作會執行。
那麼,有誰知道如何使任務非同步或有其他建議嗎?
設定
答案1
我是根據評論討論來到這裡的所以
老實說,我的啟動選單中有需要管理員權限的程序,這些程序似乎運作良好,無需我進行任何干預。
您是否嘗試過將這些程式放入群組原則登入/關閉腳本中?在電腦配置、Windows 設定下。我不確定這是否適合你。可能還有一些基於群組策略的其他解決方案 - 但它們有點超出了我的理解範圍。
但是,我按照要求發表了我的評論 - 我根據您的實際問題對其進行了修改:
任務計劃程序任務按順序運行,而不是同時運行。如果您希望所有任務同時(並行)運行,最簡單的方法是建立多個任務同時運行(或在同一事件上運行,例如登入時)。如果需要,可以使用「延遲任務」進階選項來錯開其開始順序。
答案2
我有一個啟動每個程式的批次檔。因為我希望所有程式都非同步運行,並且每個程式之間都有延遲(因為前2 個程式需要大約10-15 秒才能完全啟動),所以我在每個程式之間使用“ping localhost -n 15 >nul”線路延誤。
效果很好,這意味著我在 TS 中只有一項任務。
批次檔範例:
@echo off
::Start prog 1
"C:\Program Files\prog1\prog1.exe"
::Need to wait 15 seconds for it to start
ping localhost -n 15 >nul
:: Start prog 2
:: Further progs & delays here if required, etc,etc...
答案3
由於已啟動的操作清單中的第一個程序仍在運行,因此任務計劃程序中等待的腳本處理程序永遠不會運行第二個程序,直到第一個程序完成。它旨在啟動單一程式/操作或一系列短期運行的操作。在這裡,您希望將每個操作作為單獨規劃的任務來運行。
答案4
您可以使用以下命令從批次檔執行排程任務:
C:\Windows\System32\schtasks.exe /run /tn "????????"
????????
計劃任務的名稱在哪裡。例如,如果您在任務計劃程式庫下建立一個名為 MyApps 的資料夾,並在該資料夾下建立一個名為 Fraps 的任務,則您的命令將如下所示:
C:\Windows\System32\schtasks.exe /run /tn "MyApps\Fraps"
您甚至可以在快捷方式中使用它來直接啟動 fraps,而無需 UAC。
但在這種情況下,我只需先啟動 Fraps,然後在「常規」標籤中勾選該選項Run Fraps when Windows starts
。