C system()命令未检测到所需的扩展名。“程序检测”;“设置路径”;但这条路不能走

C system()命令未检测到所需的扩展名。“程序检测”;“设置路径”;但这条路不能走,c,C,当我自己在cmd中尝试它时,它就工作了。对system()的每次调用都会启动一个新的shell,因此像环境变量这样的事情不会从一个shell延续到下一个shell 您需要在一个system()调用中包含这两个命令。据我所知,看起来你可以通过&将它们分开,但我还没有测试过这一点。这能回答你的问题吗?至少指定您正在使用的操作系统(可能基于DOS)。操作系统不是C标准的一部分。为什么不使用系统(“C:\\Program Files\\WinRAR\\UnRAR\”x filename.rar”)为了避

当我自己在cmd中尝试它时,它就工作了。

system()
的每次调用都会启动一个新的shell,因此像环境变量这样的事情不会从一个shell延续到下一个shell


您需要在一个
system()
调用中包含这两个命令。据我所知,看起来你可以通过
&
将它们分开,但我还没有测试过这一点。

这能回答你的问题吗?至少指定您正在使用的操作系统(可能基于DOS)。操作系统不是C标准的一部分。为什么不使用
系统(“C:\\Program Files\\WinRAR\\UnRAR\”x filename.rar”)为了避免设置路径?我试图用你在第一句中给出的解决方案来解决问题,但它无法解决,但ı可以找出并解决,这要感谢你给出的链接谢谢伙计!
#include<stdio.h>

main()
{
    char path[]="\"set path=C:\\Program Files\\WinRAR\""; //the extension I want to path
    system(path);                                         //the command
    system("UnRAR x filename.rar");                       
}
'UnRAR' is not recognized as an internal or external command,
operable program or batch file.