C# 读写网上邻居中的共享文件
读写网上邻居共享的文件夹,和操作本地文件夹类似,只要有权限读取写入即可。
分为以下2步:
1.打通共享文件夹权限
2.操作文件
打通共享文件夹权限
- /// <summary>
- /// 连接共享文件
- /// </summary>
- /// <param name="path">共享文件地址</param>
- /// <param name="userName">用户名</param>
- /// <param name="passWord">密码</param>
- /// <returns>true:连接成功 false:连接失败</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 " + path + " /User:" + userName + " " + passWord + " /PERSISTENT:YES";
- proc.StandardInput.WriteLine(dosLine);
- proc.StandardInput.WriteLine("exit");
- while (!proc.HasExited)
- {
- proc.WaitForExit();
- }
- 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;
- }
创建文件夹
- DirectoryInfo dirInfo = new DirectoryInfo("\\WIN-R3377JMR1LG\ShareFolder");
- if (dirInfo.Exists == false)
- {
- dirInfo.Create();
- }
上传文件
- /// <summary>
- /// 上传文件到共享文件夹
- /// </summary>
- /// <param name="sourceFile">本地文件</param>
- /// <param name="remoteFile">远程文件</param>
- public static void UpLoadFile(string sourceFile, string remoteFile)
- {
- //判断文件夹是否存在 ->不存在则创建
- var targetFolder = Path.GetDirectoryName(remoteFile);
- DirectoryInfo theFolder = new DirectoryInfo(targetFolder);
- if (theFolder.Exists == false)
- {
- theFolder.Create();
- }
- try
- {
- WebClient myWebClient = new WebClient();
- NetworkCredential cread = new NetworkCredential();
- myWebClient.Credentials = cread;
- using (FileStream fs = new FileStream(sourceFile, FileMode.Open, FileAccess.Read))
- {
- using (BinaryReader r = new BinaryReader(fs))
- {
- byte[] postArray = r.ReadBytes((int)fs.Length);
- using (Stream postStream = myWebClient.OpenWrite(remoteFile))
- {
- if (postStream.CanWrite == false)
- {
- LogUtil.Error($"{remoteFile} 文件不允许写入~");
- return;
- }
- postStream.Write(postArray, , postArray.Length);
- }
- }
- }
- }
- catch (Exception ex)
- {
- string errMsg = $"{remoteFile} ex:{ex.ToString()}";
- LogUtil.Error(errMsg);
- Console.WriteLine(errMsg);
- }
- }
C# 读写网上邻居中的共享文件的更多相关文章
- server2003中看不到网上邻居内容,其他电脑无法通过计算机名和IP访问本计算机(但网上邻居中可访问到)
现象1:server2003中看不到网上邻居内容,查看工作组计算机看到的是空列表, 现象2:其他电脑无法通过计算机名和IP访问本计算机(但网上邻居中可访问到) 访问提示:--Windows 200 ...
- Win7新建ftp快捷方式(原XP网上邻居中客户端图标)
2014-6-2 XP逐渐隐退,新机器一般都是Win7或者Win8了.有很多朋友反映在这两个新系统中找不到类似XP网上邻居中的ftp链接图标.故稍微研究了下,以Win7为例,总结如下. 1.骨灰级 ...
- ubuntu如何实现访问实际网络中windows共享文件夹
方法一: 首先在建立一个挂载目录. sudo mkdir /mnt/share 然后就把共享目录持载进去. 服务器:192.168.6.84 共享名:gg 用户名:administrator 密 码: ...
- 深入了解"网上邻居"原理
说到“网上邻居”,相信很多人都很熟悉.但是说起“网上邻居”的工作机制,可能大家就不太清楚了. 要说“网上邻居”的工作机制,不妨联系一下生活中的例子:比如我(A),要拜访一个远方的朋友(B),我要去他的 ...
- Win7网上邻居提示未授予用户在此计算机上的请求登录类型解决办法
内容简介 装了Win7之后很多人遇到这样的问题,网上邻居访问Win7的电脑时出现“未授予用户在此计算机上的请求登录类型”问题.打开“控制面板”--“管理工具”--“本地安全策略”--“本地策略 ...
- 在Ubuntu 12.04安装和设置Samba实现网上邻居共享
转载:http://www.startos.com/ubuntu/tips/2012031333097.html 有微小改动. Samba 是一款功能强大的共享工具,可以实现与win ...
- Win8无法访问xp共享的解决方法——win8网上邻居访问别的xp电脑要用户名和密码取消方法
新装win8,原来的win7正常连接xp下载机的共享,但在win8下进网上邻居却无法访问xp的共享,显示”用户名或密码不正确”,而密码明明是对的如图所示: 解决方法: 按Win+R启动运行,输secp ...
- Win10无法访问网上邻居电脑共享的文件夹怎么办
Win10无法访问网上邻居电脑共享的文件夹怎么办 现在许多电脑上装的都是Win系统,Win10无法访问网上邻居电脑共享的文件夹怎么办呢?下面小编为大家介绍下解决的方法吧! 1点击桌面上的“此电脑”图标 ...
- 在Windows Server 2008的桌面上显示“我的电脑”“网上邻居”等图标?
装完windows server2008 r2 x64后发现桌面只有一个“回收站”图标,如何把“我的电脑”“网上邻居”等图标添加到桌面呢?操作步骤: 1. 点击 开始 在搜索中输入 icon 2. 点 ...
随机推荐
- C#一个FTP操作封装类FTPHelper
参考了网上一些代码,作了一些调整优化. 001 using System; 002 using System.Collections.Generic; 003 using System.Linq; 0 ...
- spring boot常用注解使用小结
1.@RestController和@RequestMapping注解 4.0重要的一个新的改进是@RestController注解,它继承自@Controller注解. 4.0之前的版本,Sprin ...
- 基于Java spring框架的微信企业号开发中关于js-sdk的配置
在调用js-sdk的第一步,我们需要引入js-sdk的js链接,然后执行wx.config,官方示例如下所示: wx.config({ debug: true, // 开启调试模式,调用的所有api的 ...
- Cognos第三方权限认证Oracle用户库
一:概要描述 1.1:项目背景 Cognos具有强大的报表功能,但是却没有提供一个完善的用户管理体系,针对商业智能系统对数据的安全性要求,我们必须实现不同用户对不同数据的访问,确保企业级以及部门级的数 ...
- [Unity-6] GameObject有时候渲染不出来
问题描写叙述:在做游戏的过程中遇到了这样一个问题.一个怪物,假设让他出如今屏幕的中央是没问题的,可是让他出如今屏幕的边缘的位置发现他没有出现. 问题原因:经过检查发现,我给这个GameObject加入 ...
- 【Javascript Demo】根据Email地址跳转到相应的邮箱登录页面
我的初步想法是通过指定的邮箱地址自动查找到对应的邮箱登录页面,但是用数据库.js什么的都有局限性,因为各种各样的邮箱太多了,不能都包含的到,网上找了半天都没有找到满意的答案,自己又想不出方法,只能暂时 ...
- 相似qq的IM聊天应用源代码
这个是IM聊天应用源代码,该应用IM支持实现XMPP,以及图片和表情,语音.消息回执等功能,基本覆盖了常见的im应用的功能了,大家能够參考一下吧. 源代码下载:http://code.662p.com ...
- Visual Studio使用中的问题
1.后台断点调试,一到断点的时候就VS已停止 原因:安装插件问题,我的由于安装了" .NET Reflector Visual Studio Extension "插件 解决办法: ...
- GLSL语言内置的变量详解
GLSL语言内置的变量,包括内置的顶点属性(attribute).一致变量(uniform).易变变量(varying)以及常量(const),一方面加深印象,另一方面今天的文章可以为以后的编程做查询 ...
- uploadfiy 3.0
uploadfiy v3.0中按钮可以轻易修改成中英文,而不至于想2.xx版本中,需要对中文进行编码. 3.0中圆圆的按钮,很漂亮. 但是,3.0中去掉了原来的onComplete函数,并且也去掉了从 ...