据我所知,在cmd中,当我们要切换驱动器时,我们写“[drive]:”例如: 当我们想切换到D:\我们输入
D:
我试试这个并且有效。
但是现在,我想在我的C程序中应用这个过程,所以我使用着名的“系统”命令并输入:
system("D:");
之后我有一些代码,当我尝试执行它时,它会写
the specified path was not found.
所以我试着看看系统命令是否真的有效,我又添加了另一个系统命令:
system("chdir");
验证工作目录,当我执行它时,它会显示可执行文件的路径,这意味着system("D:");
不起作用。
任何解决方案
答案 0 :(得分:6)
可能是因为system()
启动了cmd.exe
的新实例,它运行您的命令然后退出。因此,它不会在调用之间保持状态,这与运行单个实例并以交互方式为其提供多个命令的方式不同。
cmd.exe
的帮助文字暗示了解决这个问题的一种方法:
请注意,命令分隔符
'&&'
分隔的多个命令 如果被引号包围,则接受字符串。
因此,您应该能够运行"d: && chdir"
之类的命令,在cmd.exe
的单次调用中执行这两项操作。