簡體   English   中英

在Windows 7中成功計划和運行的任務無法在Windows XP中運行

[英]Task that successfully scheduled and ran in Windows 7 could not run in Windows XP

我正在編寫一個將自動安排任務的應用程序。 它應該可以在Windows 7和Windows XP上運行。 不幸的是,我似乎無法在Windows XP上運行它。

在安裝.C文件中,我創建批處理文件並執行它。 在Windows 7版本上,task命令如下所示:

schtasks /create /tn \"<Script Name>\" /xml \"%s\\<Script XML>\"

其中%s是安裝文件(和臨時批處理腳本)的工作目錄。 此方法已在多台Windows 7計算機上進行了測試,並已確認在所有這些計算機上均可正常使用。 之所以決定使用XML文件來創建任務,是因為該任務無法在筆記本電腦上運行,因為默認情況下,自動生成的XML會將腳本設置為“電池不運行”。

但是,當我嘗試在Windows XP上運行相同的應用程序時,出現了無法識別/ xml參數的錯誤,因此我重寫了XP的Task Schedule命令。 我知道該應用程序將在其上運行的XP計算機不是便攜式計算機,因此我認為我不必擔心自動生成的XML的“不用電池運行”部分。

這是Windows XP版本的任務命令:

schtasks /create /tn \"<Script Name>\" /tr \"%s\\<File To Run>.exe\" /sc minute /mo 60

應用程序完成安裝后,我在計划的任務上收到狀態消息“無法運行”。 我知道我正在計划的可執行文件確實可以工作,因為當我手動運行它(在XP和Windows 7上)時,它都可以工作,所以我不知所措,試圖找到解決此問題的方法。

如果重要的話,可執行文件就是一個C#文件。 我記錄了批處理文件和C#可執行文件的操作目錄,它們都是正確的,所以我不確定為什么不能讓此任務在Windows XP上自動運行。

如果有人可以幫助我,我將非常感激。 我已經為這個問題工作了幾天。

沒有XP機器或Windows XP模式,這一切都是黑暗的。

我的主要預測是,我認為您不必轉義/tn \\"<Script Name>\\"的引號,因為在測試時出現錯誤。 /tr \\"%s\\\\<File To Run>.exe\\" 即使其中任何一個包含空格,也應使用常規(未轉義)引號。 我在Windows 7中測試了schtasks /Create /TN \\"name\\" /TR cmd /SC once /ST 12:00 ,並且收到錯誤ERROR: The filename, directory name, or volume label syntax is incorrect.
另一件事是,您將/SC設置為minute ,但您也將/MO設置為60 我預測這在Windows 7上還可以,但是這可能會使XP抱怨。 /SC設置為HOURLY可能值得一試(如果XP具有該選項)。

最后要說明的是,通常Windows實用程序在版本之間不會發生很大變化,尤其是如果它們未在幫助文件中顯示其版本時。 自XP以來,除了/XML選項(以及/V1 )以外,幾乎沒有任何基本的變化。 如果它可以在7中運行,那么它有95%的機會可以在XP中運行,因此您也可以嘗試在其中進行測試。

順便提一下,對於似乎所有應用程序,CMD的轉義字符為^ schtasks /Create /TN ^"name^" /TR cmd /SC once /ST 13:00schtasks /Create /TN "name" /TR cmd /SC once /ST 13:00都可以正常工作,盡管它們確實覆蓋了每個其他,只是名稱name不帶引號(Windows可能會在創建引號之前將其刪除)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM