【问题标题】:Task that successfully scheduled and ran in Windows 7 could not run in Windows XP在 Windows 7 中成功调度和运行的任务无法在 Windows XP 中运行
【发布时间】:2013-11-01 02:59:07
【问题描述】:

我正在编写一个会自动安排任务的应用程序。它应该适用于 Windows 7 和 Windows XP。不幸的是,我似乎无法在 Windows XP 上运行它。

在 setup .C 文件中,我创建批处理文件并执行它。在 Windows 7 版本上,任务命令如下所示:

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

其中 %s 是安装文件(和临时批处理脚本)的工作目录。此方法已在多台 Windows 7 机器上进行了测试,并已确认在所有机器上都可以完美运行。我决定使用 XML 文件创建任务的原因是因为该任务不会在笔记本电脑上运行,因为默认情况下自动生成的 XML 将脚本设置为不使用电池运行。

但是,当我尝试在 Windows XP 上运行相同的应用程序时,我得到了 /xml 参数无法识别的错误,因此我重写了 XP 的任务计划命令。我知道运行此应用程序的 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 上自动运行。

如果有人可以帮助我,我将不胜感激。我已经在这个问题上工作了几天了。

【问题讨论】:

    标签: c# batch-file windows-7 windows-xp windows-task-scheduler


    【解决方案1】:

    没有 XP 机器或 windows XP 模式,这一切都是在黑暗中刺伤。

    我的主要预测是,我认为您不必转义 /tn \"&lt;Script Name&gt;\" 中的引号,因为我在测试时遇到了错误。 /tr \"%s\\&lt;File To Run&gt;.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 实用程序不会在版本之间发生巨大变化,尤其是当它们没有在帮助文件中显示其版本时。除了/XML 选项(以及/V1)之外,自XP 以来基本不可能发生任何变化。如果它在 7 中工作,那么它在 XP 中工作的可能性大约为 95%,所以你也可以尝试在那里测试一些东西。

    作为旁注,CMD 的转义字符是^,似乎适用于所有应用程序。 schtasks /Create /TN ^"name^" /TR cmd /SC once /ST 13:00schtasks /Create /TN "name" /TR cmd /SC once /ST 13:00 都工作得很好,尽管它们确实相互覆盖并且只有名称 name 没有引号(Windows 可能在创建它们之前去掉了引号)。

    【讨论】:

      猜你喜欢
      • 2011-08-23
      • 2014-01-03
      • 1970-01-01
      • 1970-01-01
      • 2014-06-06
      • 2021-11-15
      • 1970-01-01
      • 1970-01-01
      • 2011-03-04
      相关资源
      最近更新 更多