.Net中,文件Copy可否带什么验证 WinForm程序,目的是从机器A拷贝文件到机器B,已经知道机器B的管理员密码。机器A,B是同一个组,都是XP的系统。现在程序使用File.Copy,但因为权限问题而操作不成功。各位是否有好方法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果你是一个局域网,必须用文件共享,才能进行IO操作public static bool NetUse(string ip,string uid,string pwd) { Process p = new Process(); p.StartInfo.FileName = "cmd.exe"; p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardError = true; p.StartInfo.CreateNoWindow = true; p.Start(); byte[] buffer = Convert.FromBase64String(pwd); pwd = System.Text.UTF8Encoding.Default.GetString(buffer); string cmdText="net use \\\\"+ip+" "+pwd+" /USER:"+uid; p.StandardInput.WriteLine(cmdText); p.StandardInput.WriteLine("exit"); string strRst = p.StandardOutput.ReadToEnd(); p.Close(); if(strRst.IndexOf("命令成功完成")!=-1) return true; return false; }IO操作之前先运行上面函数 ,就可以了像本地一样了 to greennetboy(我的老婆叫静静) 这个命令主要是做什么用,你说的共享是什么意思。 byte[] buffer = Convert.FromBase64String(pwd); 有问题,FromBase64String要求参数长度大于4并且并且是4的倍数 to greennetboy(我的老婆叫静静)刚才试了。密码不用转换吧,除了设IP外,应该还要求指定哪个盘共享。现在还要一个问题,连接建立后,Copy完后应该把它Delete掉吧。因为我要往很多电脑拷贝文件,这个Delete比较麻烦 FromBase64String()是我这里的使用方法,你换成你自己的,直接传名文就可以共享要事先设置好才可以 Copy完后应该把它Delete掉,不如用File.Move把 to greennetboy我是想在其他机器不共享的前提下访问,所以想用D $的方式 :)to liangxf0022(小新) 这个Delete不是删除文件,而是删除共享链接我想这个删除共享链接还是很必要的 to greennetboy如果要访问共享文件夹,不需要创建共享链接了,只要同一个域就可以了,还有就是共享文件夹分配给我访问的权限 我的程序是 把A电脑共熟文件夹的文件 copy 到 B电脑,结果也是不行,报错:目标目录已存在。why? Windows共享是一个自己的文件传输协议,两个主机之间通讯肯定要一种协议的。 因为我有域管理员密码,就算没有共享,理应可以进行Copy C# SQLite本地可以使用,放到其他机器上就不行了! C#中,静态方法所耗内存会释放吗? 如何在CS架构中建立数据载入的进度条 简单问题一个 接收邮件附件并保存 高手帮忙 ~ 100分送上 在线等~ 两个小问题~~~50分吧 请教一些有关Socket概念上的问题:如连接数量,帧听数量等 异步socket握手协议(急) IE10环境下 asp:Repeater无法操作,跪求砖头玉块儿!!!!! 如何在类之间传递事件? 问一个关于程序的界面问题.(界面美化) c#的基础教程有没地方下载?高手帮小弟一个忙!
public static bool NetUse(string ip,string uid,string pwd)
{
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
byte[] buffer = Convert.FromBase64String(pwd);
pwd = System.Text.UTF8Encoding.Default.GetString(buffer);
string cmdText="net use \\\\"+ip+" "+pwd+" /USER:"+uid;
p.StandardInput.WriteLine(cmdText);
p.StandardInput.WriteLine("exit");
string strRst = p.StandardOutput.ReadToEnd();
p.Close();
if(strRst.IndexOf("命令成功完成")!=-1)
return true;
return false;
}
IO操作之前先运行上面函数 ,就可以了像本地一样了
有问题,FromBase64String要求参数长度大于4并且并且是4的倍数
刚才试了。密码不用转换吧,除了设IP外,应该还要求指定哪个盘共享。
现在还要一个问题,连接建立后,Copy完后应该把它Delete掉吧。因为我要往很多电脑拷贝文件,这个Delete比较麻烦
是我这里的使用方法,你换成你自己的,直接传名文就可以
共享要事先设置好才可以
我是想在其他机器不共享的前提下访问,所以想用D $的方式 :)to liangxf0022(小新)
这个Delete不是删除文件,而是删除共享链接我想这个删除共享链接还是很必要的
结果也是不行,报错:
目标目录已存在。why?
两个主机之间通讯肯定要一种协议的。