int main()
{
// system("start cd i:"); //1. changing to I: but again going back to c:
system(" dir i: >>d:\txt.txt"); //2. "Access denied."
getch();
return 0;
}
有人可以在第一和第二句中解释此代码生成的输出。
请建议如何在同一system()
调用中连接这两个命令。
答案 0 :(得分:7)
system(" dir i: >>d:\txt.txt");
应该是
system(" dir i: >>d:\\txt.txt");
否则您尝试创建一个文件“tab”,后跟“xt.txt”,这是不允许的。
答案 1 :(得分:1)
您可以使用&
连接两个命令。
system("cd i: & dir i: >>d:\\txt.txt");
另请注意,您的路径中需要\\
而不是\
- \
需要转义。
答案 2 :(得分:0)
cd
命令用于更改当前驱动器的目录。
要更改驱动器,只需发出驱动器号本身后跟:
。
所以要切换到驱动器I:
,请发出:
I:
命令解释器允许使用&
:
system("command1 & command2");
在你的情况下会变成:
system("I: & dir >>d:\\txt.txt")
另外,您可以将命令处理器要执行的每个命令添加到文本文件中,每行一个命令,而不是将文件命名为something.bat
,只需从命令行调用它即可。然后,每条线将由命令处理器执行。