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; }
有人可以解释这个代码在一个和两个语句中产生的输出。 请build议如何在同一个system()
调用中连接这两个命令。
cd
命令是更改当前驱动器的目录。
要更改驱动器,只需发出驱动器盘符,然后按:
。
所以要切换到驱动器I:
:,问题:
I:
命令解释器允许使用&
连接两个命令:
system("command1 & command2");
你的情况会变成:
system("I: & dir >>d:\\txt.txt")
或者,您可以将每个想要由命令处理器执行的命令添加到文本文件中,每行一个命令,而不是将文件命名为something.bat
,只需从命令行调用该命令即可。 每一行将由命令处理器执行。
进一步阅读: http : //en.wikipedia.org/wiki/Batch_file
system(" dir i: >>d:\txt.txt");
应该
system(" dir i: >>d:\\txt.txt");
否则你尝试创建一个文件“选项卡”,后面是不允许的“xt.txt”。
你可以连接两个命令与一个&
。
system("cd i: & dir i: >>d:\\txt.txt");
另外请注意,您需要\\
而不是\
在您的路径 – \
需要被转义。