看http://technet.microsoft.com/en-us/library/ff715408.aspxfor FirstLogonCommand
,如何指定CommandLine
for操作系统启动驱动器不要像示例那样只使用“C:”。操作系统启动驱动器可能不是“C:”。
更新:我正在使用 C++ 编写 XML,并且将要运行的程序也是用 C++ 编写的。
答案1
有趣的问题。微软没有提供任何帮助(一如既往)。
%SystemDrive% 环境变量通常是在脚本等中使用的,但这实际上不是一个脚本。
坦白说,我不知道它是否会在这种特殊的边缘情况下发挥作用。
如果系统将 XML 中的内容直接传递给 cmd.exe,它就会起作用。
如果不扩展环境变量,直接进入 Windows-API 的 exec() 调用,那么它是否会起作用就值得怀疑了。
您只需尝试一下即可。由于运行时没有视觉反馈,我建议您运行在已知位置写入日志文件的程序,这样您就可以确定它是否有效。
我想到另一个解决方案:假设在运行时,当前驱动器就是操作系统驱动器,那么您可能根本不需要指定驱动器。只需使用驱动器顶部的完整部分,而无需驱动器号和冒号。
例如:\synccommands\run1.exe
让我们知道结果如何。我个人对其中一种解决方案是否有效很感兴趣,但我没有时间也没有设备亲自进行实验。
答案2
该%SystemDrive%
环境变量设置为 Windows 中的操作系统驱动器,可以替换为大多数命令。