小5聊C#基础之调用cmd执行命令并且执行遇到需要输入Y或N的情况

Posted 小5聊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小5聊C#基础之调用cmd执行命令并且执行遇到需要输入Y或N的情况相关的知识,希望对你有一定的参考价值。

当需要清除共享文件登录用户时,执行第一条命令后,会提示需要输入Y或N,就是是否确认删除,Y=是,N=不

1、通过cmd命令登录共享文件

执行如下代码,会直接弹出无需再登录的共享文件界面 

  • 代码 
using (Process myPro = new Process())
{
    myPro.StartInfo.FileName = "cmd.exe";
    myPro.StartInfo.UseShellExecute = false;
    myPro.StartInfo.RedirectStandardInput = true;
    myPro.StartInfo.RedirectStandardOutput = true;
    myPro.StartInfo.RedirectStandardError = true;
    myPro.StartInfo.CreateNoWindow = true;
    myPro.Start();

    string str = @"net use \\\\192.168.0.115 这里填密码 /user:这里填用户名 &exit";
    myPro.StandardInput.WriteLine(str);


    myPro.StandardInput.AutoFlush = true;
    myPro.WaitForExit();
}

//再打开调起网络
System.Diagnostics.Process.Start("\\\\\\\\192.168.0.115");

 2、先删除再调用

关键代码:echo y

关键代码:net use * /delete /y

执行如下代码后,会弹出如下界面

  • 效果

  • 代码
using (Process myPro = new Process())
{
    myPro.StartInfo.FileName = "cmd.exe";
    myPro.StartInfo.UseShellExecute = false;
    myPro.StartInfo.RedirectStandardInput = true;
    myPro.StartInfo.RedirectStandardOutput = true;
    myPro.StartInfo.RedirectStandardError = true;
    myPro.StartInfo.CreateNoWindow = true;
    myPro.Start();

    string str = @"net use \\\\192.168.0.115 你的密码 /user:你的账号 &exit";
    //myPro.StandardInput.WriteLine(str);

    执行删除
    str = "echo y net use * /delete";
    //如果不行,那么使用下面这条语句
    //str = "net use * /delete /y";
    myPro.StandardInput.WriteLine(str);

    myPro.StandardInput.AutoFlush = true;
    //myPro.WaitForExit(); //等待进程关闭
}

//再打开调起网络
System.Diagnostics.Process.Start("\\\\\\\\192.168.0.115");

以上是关于小5聊C#基础之调用cmd执行命令并且执行遇到需要输入Y或N的情况的主要内容,如果未能解决你的问题,请参考以下文章

小5聊C#基础之实例化和静态类对象调用对比

小5聊jQuery基础之$(‘body,html‘).animate执行两次

小5聊C#基础之Ajax的getpost与Request.Form的判断

小5聊Html基础之浏览器渲染和执行流程分析

小5聊C#版本NPOI之基础样式设置

小5聊C#基础之内置和自定义委托的简单使用