我正在尝试将文件复制到映射驱动器上的网络文件夹。我在我的命令行中测试了COPY,所以我认为我会尝试在C#中自动执行该过程。
ProcessStartInfo PInfo;
Process P;
PInfo = new ProcessStartInfo("COPY \"" + "c:\\test\\test.txt" + "\" \"" + "w:\\test\\what.txt" + "\"", @"/Z");
PInfo.CreateNoWindow = false; //nowindow
PInfo.UseShellExecute = true; //use shell
P = Process.Start(PInfo);
P.WaitForExit(5000); //give it some time to finish
P.Close();
引发异常: System.ComponentModel.Win32Exception(0x80004005):系统找不到指定的文件
我错过了什么?我是否必须在命令参数中添加任何其他内容?
我已经尝试过File.Copy,但它似乎不起作用(File.Exists("<mappeddriveletter>:\\folder\\file.txt");
)会导致错误。
答案 0 :(得分:2)
嗯,对于技术位:copy
本身不是可执行文件,而只是cmd
解释的命令。所以基本上,你必须将cmd.exe
作为一个进程启动,并向它传递一个标志,使其运行copy
命令(你还必须提供它作为参数)。
无论如何,我会支持Promit并建议调查File.Copy
或类似内容。
e:啊,当我发布这篇文章时,错过了你对Promit答案的评论。
答案 1 :(得分:2)
答案 2 :(得分:1)
使用File.Copy会不会更容易?