我需要使用用户路径变量运行bat文件
system("\"%HOMEPATH%\\AppData\\Roaming\\project\\Local Store\\update.bat\"");
这个不起作用,但下一个可以:
system("\"C:\\Users\\User\\AppData\\Roaming\\project\\Local Store\\update.bat\"");
但我需要第一个,以使其适用于每个用户......提前谢谢您!
最佳答案
(答案已编辑)
我认为 %HOMEPATH%
扩展为其中包含一个或多个空格的目录名称。这可以解释为什么在您添加引号后它对您有用。
最初我认为您需要在调用 system()
之前自行扩展变量,但这是一个错误。 system()
命令应该像在命令行中键入字符串一样处理字符串,其中包括扩展变量。
关于c++ - 使用具有路径变量的 C 运行 Bat 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19059135/