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

标签 c++ c batch-file

我需要使用用户路径变量运行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/

相关文章:

Windows 批处理 - 将多个文本文件连接成一个

c++ - 如何在 C++ 中检测用户输入?

c++ - 'var' 的存储大小未知

c - 从 C 中的字符串数组打印 'triangle' 个字符

java - Spring Cloud数据流是否支持批处理

string - 如何将包含特定字符串的行的行号存储在环境变量中的文本文件中?

c++ - 为第三方库 libA.a 包装对 malloc 的调用,但不为 libB.a 包装调用

C++编译器不识别头文件

c - C 中的回溯数独求解器

C 'generics' -- double 和 float