使用具有路径变量的C运行Bat文件

时间:2013-09-27 20:01:23

标签: c++ c batch-file

我需要使用userpath变量

运行bat文件
system("\"%HOMEPATH%\\AppData\\Roaming\\project\\Local Store\\update.bat\"");

这个没有用,但下一个确实有效:

system("\"C:\\Users\\User\\AppData\\Roaming\\project\\Local Store\\update.bat\"");

但我需要第一个,让它适用于每个用户......提前谢谢你!

1 个答案:

答案 0 :(得分:0)

(答案已编辑)

我认为%HOMEPATH%扩展为目录名,其中包含一个或多个空格。这可以解释为什么一旦你添加引号它就会起作用。

最初我认为你需要在调用system()之前自己扩展变量,但这是一个错误。 system()命令应该处理一个字符串,就像你在命令行输入它一样,包括扩展变量。