C#调用多条cmd指令问题

时间:2022-09-03 17:04:55
比如我想执行一条复制指令,文件在d盘中,所以我要先进入到D盘,在dos中需要执行D:
然后再复制,copy 1.txt C:\User\desktop\
这两条 指令怎么执行啊,网上的方法都试过了,没用,不出结果。
就是进不去D盘中,因为我执行copy D:\1.txt C:\User\desktop这样就可以。现在我想知道分成两条dos命令怎么弄。。。急求。。

11 个解决方案

#1


C#调用多条cmd指令问题
这是我写的代码,分成两条命令去调用,复制不成功

#2


C#调用多条cmd指令问题
先说一下,copy d:/xxx.xx C:/xxx/xxx.xx就可以利用绝对路径复制文件而不改变当前路径了。

#3


经测试,可以运行!
但退不出来

#4


如果要变更cmd运行位置,可以用这个:


p.StartInfo.FileName = "C:\\Windows\\System32\\cmd.exe /k cd /d "
+"\"D:\\ServKit\"";// \"D:\\ServKit\"替换为你需要的路径即可。

#5


保险起见,你可把各条命令写到批处理文件中去,然后执行批处理
            var a = new string[] {
                "E:",
                "md a1",
                "copy 1.txt a1",
                "dir a1"};
            File.WriteAllLines("p.cmd", a);
        
            var proc = new Process();
            proc.StartInfo.CreateNoWindow = true;
            proc.StartInfo.FileName = "p.cmd";
......

#6


哎好烦,我看网上都是这么分开调用的指令啊,为什么到我这就不好用了。难道网上那么多经验都是错的。。。。。。。。。而且按照我图片中的代码运行的啊,是没法复制txt文件的!!我加上D:\绝对路径就可以复制了,擦。。。。。。。。。。。。。。。然而我真正想调用的指令又没法用绝对路径

#7


#4
比如我想在cmd下执行如下指令,改怎么写,求教大神们。
D:\
cd graphviz\bin
dot.exe -Tpng C:\Users\hit\desktop\abc.dot -o C:\Users\hit\desktop\abc.png

#8


就是进不去想要的路径,想进入D盘路径就这么难吗

#9


网上的没错,你的也没错
只是你不知道变通

#10


开窍了。。。我想要的dos指令也可以用加绝对路径用一条语句写出来。。终归还是对dos指令写法不了解。。
可以直接这么写:D:\graphviz\bin\dot -Tpng C:\Users\hit\desktop\abc.dot -o C:\Users\hit\desktop\abc.png。
ok完成,分能一人一半不。

#11


感谢楼上两位,以后有不明白的再来请教

#1


C#调用多条cmd指令问题
这是我写的代码,分成两条命令去调用,复制不成功

#2


C#调用多条cmd指令问题
先说一下,copy d:/xxx.xx C:/xxx/xxx.xx就可以利用绝对路径复制文件而不改变当前路径了。

#3


经测试,可以运行!
但退不出来

#4


如果要变更cmd运行位置,可以用这个:


p.StartInfo.FileName = "C:\\Windows\\System32\\cmd.exe /k cd /d "
+"\"D:\\ServKit\"";// \"D:\\ServKit\"替换为你需要的路径即可。

#5


保险起见,你可把各条命令写到批处理文件中去,然后执行批处理
            var a = new string[] {
                "E:",
                "md a1",
                "copy 1.txt a1",
                "dir a1"};
            File.WriteAllLines("p.cmd", a);
        
            var proc = new Process();
            proc.StartInfo.CreateNoWindow = true;
            proc.StartInfo.FileName = "p.cmd";
......

#6


哎好烦,我看网上都是这么分开调用的指令啊,为什么到我这就不好用了。难道网上那么多经验都是错的。。。。。。。。。而且按照我图片中的代码运行的啊,是没法复制txt文件的!!我加上D:\绝对路径就可以复制了,擦。。。。。。。。。。。。。。。然而我真正想调用的指令又没法用绝对路径

#7


#4
比如我想在cmd下执行如下指令,改怎么写,求教大神们。
D:\
cd graphviz\bin
dot.exe -Tpng C:\Users\hit\desktop\abc.dot -o C:\Users\hit\desktop\abc.png

#8


就是进不去想要的路径,想进入D盘路径就这么难吗

#9


网上的没错,你的也没错
只是你不知道变通

#10


开窍了。。。我想要的dos指令也可以用加绝对路径用一条语句写出来。。终归还是对dos指令写法不了解。。
可以直接这么写:D:\graphviz\bin\dot -Tpng C:\Users\hit\desktop\abc.dot -o C:\Users\hit\desktop\abc.png。
ok完成,分能一人一半不。

#11


感谢楼上两位,以后有不明白的再来请教