两台电脑通过网线互联进行文件共享,请参考 https://blog.csdn.net/qq_38161654/article/details/80865241
1.设置电脑一,理解为客户端
设置TCP/IPv4 IP地址和默认网关:192.168.0.10,子网掩码:255.255.255.0
2.设置电脑二,理解为服务器,共享文件在此电脑上
设置TCP/IPv4 IP地址:192.168.0.100,子网掩码:255.255.255.0,默认网关:192.168.0.10
3.Ping测试:cmd “ping 192.168.0.10”或“ping 192.168.0.100”
4.电脑而桌面设置一文件夹:命名hfg,右键属性,然后点击共享,再点击高级共享 ,把共享此文件夹前面的方框勾上 ,设置共享的权限
可以设置允许修改写入等开放文件夹权限
5.电脑一输入:\\192.168.0.100 或 \\电脑二电脑名\hfg
-----------------------------------------------------------------------------------------------------
6.修改电脑二计算机名:MES-111
7.给电脑二添加管理员账户:MES,密码:123456
8.编程连接的时候需要用到管理员账户和登录密码
代码:
/// <summary> /// 判断文本是否以\\结尾,如果不是在结尾添加\ /// </summary> /// <param name="checkString"></param> /// <returns></returns> public static string BackSlash(string checkString) { string strTmp = ""; strTmp = checkString; try { if (!string.IsNullOrEmpty(checkString)) { if (strTmp[strTmp.Length - 1].ToString() != "\\") { strTmp += "\\"; } } else { strTmp = ""; } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex); } return strTmp; } /// <summary> /// 判断连接状态 /// </summary> /// <param name="path">共享文件夹</param> /// <param name="userName">管理员名字,不是计算机名</param> /// <param name="passWord">密码</param> /// <returns></returns> public static bool connectState(string path, string userName, string passWord) { bool Flag = false; Process proc = new Process(); try { proc.StartInfo.FileName = "cmd.exe"; proc.StartInfo.UseShellExecute = false; proc.StartInfo.RedirectStandardInput = true; proc.StartInfo.RedirectStandardOutput = true; proc.StartInfo.RedirectStandardError = true; proc.StartInfo.CreateNoWindow = true; proc.Start(); string dosLine = @"net use /delete * /yes " + System.Environment.NewLine; proc.StandardInput.WriteLine(dosLine); String dosLine2; dosLine2 = @"net use " + path + " /User:" + userName + " " + passWord + " /PERSISTENT:YES " + System.Environment.NewLine; proc.StandardInput.WriteLine(dosLine2); proc.StandardInput.WriteLine("exit"); while (!proc.HasExited) { proc.WaitForExit(1000); } string errormsg = proc.StandardError.ReadToEnd(); proc.StandardError.Close(); if (string.IsNullOrEmpty(errormsg)) { Flag = true; } else { throw new Exception(errormsg); } } catch (Exception ex) { throw ex; } finally { proc.Close(); proc.Dispose(); } return Flag; } private void btn_conn_Click(object sender, EventArgs e) { string strPath0 = @"\\192.168.0.100\hfg"; //共享文件夹 if (connectState(strPath0, "MES", "Ab123456")) { MessageBox.Show("成功"); } else { MessageBox.Show("失败"); } } private void btn_Read_Click(object sender, EventArgs e) { string strPath0 = @"\\192.168.0.100\hfg"; //共享文件夹 string destFn = "888.txt"; //要读取共享文件夹下文件的名称 string destFnNew = "888new.txt"; bool stt1 = connectState(strPath0, "MES", "Ab123456"); if (stt1) { string FullPath = BackSlash(strPath0) + destFn; string newPath = BackSlash(strPath0) + destFnNew; if (File.Exists(FullPath)) { File.Copy(FullPath, newPath); if (File.Exists(newPath)) { StreamReader sr = new StreamReader(newPath); string strTmp = sr.ReadToEnd(); sr.Close(); tb_2.Text = strTmp; File.Delete(FullPath); File.Delete(newPath); } } } } private void btn_Write_Click(object sender, EventArgs e) { //string txtPath = Directory.GetCurrentDirectory() + "\\111.txt"; //本地txt文件 string strPath0 = @"\\192.168.0.100\hfg"; //共享文件夹 string destFn = "888.txt"; //要在共享文件夹下生成的文件的名称 bool stt1 = connectState(strPath0, "MES", "Ab123456"); if (stt1) { if (string.IsNullOrEmpty(tb_1.Text)) { MessageBox.Show("为空"); return; } //BackSlash(strPath0) + destFn是共享文件夹下要存储的文件的绝对路径 //就是把本地的txt文件放到另一台电脑共享文件夹下 FileStream fs = new FileStream(BackSlash(strPath0) + destFn, FileMode.Create); using (StreamWriter sw = new StreamWriter(fs)) { sw.Write(tb_1.Text.Trim()); sw.Flush(); sw.Close(); } fs.Close(); } }