使用账号密码访问文件夹

Posted 水墨晨诗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用账号密码访问文件夹相关的知识,希望对你有一定的参考价值。

 

技术分享图片
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace XianCheng
{
    public class ConnecteFile
    {
        Process p = CreateP();
        /// <summary>
        ///链接远程文件 
        /// </summary>
        /// <param name="path">远程文件夹</param>
        /// <param name="user"></param>
        /// <param name="pwd"></param>
        public void GetAccessControl(string path, string user, string pwd)
        {
            p.Start();
            p.StandardInput.WriteLine(@"Net Use {0} /del", path); //必须先删除,否则报错
            p.StandardInput.WriteLine(@"Net Use {0} ""{1}"" /user:{2}", path, pwd, user);
            p.StandardInput.WriteLine("exit"); //如果不加这句WaitForExit会卡住
            p.WaitForExit();
            p.Close();
        }

        /// <summary>
        /////关闭远程文件 
        /// </summary>
        /// <param name="path"></param>
        public void CloseAccessControl(string path)
        {          
            p.Start();
            p.StandardInput.WriteLine(@"Net Use {0} /del", path); //必须先删除,否则报错
            p.StandardInput.WriteLine("exit"); //如果不加这句WaitForExit会卡住
            p.WaitForExit();
            p.Close();
        }
        //向远程文件夹保存本地内容,或者从远程文件夹下载文件到本地

        /// <summary>
        /// 创建文件夹
        /// </summary>
        /// <param name="fullPath">完整的文件夹名字(10.85.17.102+DirectoryName)</param>
        public static void Transport(string fullPath)
        {
            if (!Directory.Exists(fullPath))
            {
                Directory.CreateDirectory(fullPath);
            }
        }
        public static Process CreateP()
        {
            Process pcs = new Process();
            pcs.StartInfo.FileName = System.Environment.GetEnvironmentVariable("ComSpec");
            pcs.StartInfo.UseShellExecute = false;
            pcs.StartInfo.RedirectStandardInput = true;
            pcs.StartInfo.RedirectStandardOutput = true;
            pcs.StartInfo.CreateNoWindow = true;
            return pcs;
        }
    }
}
ConnecteFile类

 

技术分享图片
 static void Main(string[] args)
        {
            ConnecteFile cf = new ConnecteFile();
            string strPath = "\\\\10.11.11.111\\FindPosition";//要访问的路径
            string strUserName = @"username";//账号
            string strPWD = "password";//密码
            cf.GetAccessControl(strPath, strUserName, strPWD);

            string fullDirPath = "\\\\11.11.11.111\\FindPosition\\vichin";
            if (!Directory.Exists(fullDirPath))//创建文件夹
            {
                Directory.CreateDirectory(fullDirPath);
            }            
        }
控制台代码

 

大体思路:使用 win+R 打开运行的窗口→打开命令窗口,在命令窗口中,通过账号密码与远程服务器进行连接,连上去之后,就可以像正常操作文件一样,对文件进行操作了。

以上是关于使用账号密码访问文件夹的主要内容,如果未能解决你的问题,请参考以下文章

访问共享文件时切换默认的访问账号

局域网远程访问共享文件夹登录账号密码?

win7系统访问其他电脑的共享文件总是提示账号或密码错误(账号和密码绝对正确),请问是怎么回事?求大神

共享电脑需要输入账号密码怎么办

win10共享文件,映射网络驱动器的凭据账号密码如何设置

atlasppbe0612访问密码