Windows 无人值守:从操作系统启动驱动器而不是“C:”驱动器运行程序

Windows 无人值守:从操作系统启动驱动器而不是“C:”驱动器运行程序

http://technet.microsoft.com/en-us/library/ff715408.aspxfor FirstLogonCommand,如何指定CommandLinefor操作系统启动驱动器不要像示例那样只使用“C:”。操作系统启动驱动器可能不是“C:”。

更新:我正在使用 C++ 编写 XML,并且将要运行的程序也是用 C++ 编写的。

答案1

有趣的问题。微软没有提供任何帮助(一如既往)。

%SystemDrive% 环境变量通常是在脚本等中使用的,但这实际上不是一个脚本。

坦白说,我不知道它是否会在这种特殊的边缘情况下发挥作用。

如果系统将 XML 中的内容直接传递给 cmd.exe,它就会起作用。

如果不扩展环境变量,直接进入 Windows-API 的 exec() 调用,那么它是否会起作用就值得怀疑了。

您只需尝试一下即可。由于运行时没有视觉反馈,我建议您运行在已知位置写入日志文件的程序,这样您就可以确定它是否有效。

我想到另一个解决方案:假设在运行时,当前驱动器就是操作系统驱动器,那么您可能根本不需要指定驱动器。只需使用驱动器顶部的完整部分,而无需驱动器号和冒号。

例如:\synccommands\run1.exe

让我们知道结果如何。我个人对其中一种解决方案是否有效很感兴趣,但我没有时间也没有设备亲自进行实验。

答案2

%SystemDrive%环境变量设置为 Windows 中的操作系统驱动器,可以替换为大多数命令。

相关内容