执行Cmd命令[通俗易懂]

执行Cmd命令[通俗易懂](1)直接在执行.cmd脚本:(2)直接仿制在CMD敲命令的方式:EventManager.WriteOutput("正在前端构建…");vardir=Path.C

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

(1)直接在执行.cmd脚本:

  string dir = Path.Combine(@"命令所在文件夹");
            string cmd = Path.Combine(dir, "test.cmd");
            StringBuilder sb = new StringBuilder();
            var processConfuse = new Process
            {
                StartInfo =
                {
                    WorkingDirectory = dir,
                    FileName = cmd,
                    CreateNoWindow = true,
                    RedirectStandardOutput = true,
                    RedirectStandardInput = true,
                    UseShellExecute = false
                }
            };
            processConfuse.OutputDataReceived += (sender, args) => sb.AppendLine(args.Data);
            processConfuse.Start();
            processConfuse.BeginOutputReadLine();
            processConfuse.WaitForExit();
            string output = sb.ToString();
            if (output.IndexOf("error", StringComparison.OrdinalIgnoreCase) != -1)
            {
                EventManager.WriteOutput(output);
                return false;
            }
            return true;

(2)直接仿制在CMD敲命令的方式:

EventManager.WriteOutput(“正在前端构建…”);
var dir = Path.Combine(InputInfo.BranchPath, ConfigInfo.Instance.RootWebDir, “node”);
var root = Path.GetPathRoot(dir).Substring(0, 2);
StringBuilder sb = new StringBuilder();
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.OutputDataReceived += (sender, a) => sb.AppendLine(a.Data);
p.Start();
p.StandardInput.WriteLine(root);
p.StandardInput.WriteLine($”cd {dir}”);
p.StandardInput.WriteLine(@”grunt.cmd” + “&exit”);
p.BeginOutputReadLine();
p.WaitForExit();
string output = sb.ToString();
p.Close();
if (output.IndexOf(“error”, StringComparison.OrdinalIgnoreCase) != -1)
{
EventManager.WriteOutput(output);
EventManager.WriteOutput(“前端构建失败”);
return false;
}
EventManager.WriteOutput(“前端构建完成”);
return true;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/166909.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • navicat for MySQL版本15激活码_最新在线免费激活2022.02.02

    (navicat for MySQL版本15激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

  • 分享一个C#的分页类建议收藏

    废话不说只有代码:1usingSystem.Linq;2usingSystem.Collections.Generic;34namespaceCommonLibrary5{6

    2021年12月20日
  • 如何简单运行Java程序

    如何简单运行Java程序本章开始,我们需要下苦功打基础,目标是完成一个会员管理系统哦!如何运行Java程序,用java命令即可,一定不要忘了写main方法哦,一个java文件里面可以写很多个class。步骤1java文件等于java类吗问大家一个问题,你认为java文件是java类吗?你可以用记事本写一个Demo.java的文本文件,编码是ansi,如果你的windows系统是简体中文的,那么所谓的ansi,其实就和GBK是一样的。在这个文件里,你可以写很多的class,但是声明为public的class只能有一个。

  • 哪些软件是用C++写的

    哪些软件是用C++写的http://www.cppblog.com/Chipset/archive/2008/12/17/69625.htmlC++的应用C++Applications2013年6月27日更新(Englishversion):http://www.stroustrup.com/applications.html这里有一个有关系统、应用程序和库的列表,列表中的

  • efishell无法开机shell_电脑开机后出现efi shell提示进不了系统?解决方法

    efishell无法开机shell_电脑开机后出现efi shell提示进不了系统?解决方法最近有很多网友问我,为什么我的电脑开机后出现efishell提示进不了系统,开机出现efishell提示时,一般是由于第一启动项设置的是efishell启动的,有的网友告诉我,我第一启动项明明设置的是硬盘启动,当然还有一种情况就是前面的启动项都无法加载,然后按启动顺序启动,然后就启动到efishell了,出现这种情况一般就是系统引导破坏或是找不到引导项了。那么怎么找到原并解决这个问题呢,下…

  • 程序人生-感受湖光景色随笔

    开头聊几句1、首先在说明下,我不是大佬,我是渣飞,这个“渣”是技术方面,不要想多,虽然我现在渣,但是我希望不断努力朝大佬的方向靠近2、今天是周四,我司的周四特定上线日,每月总有那么几天,在公司待待很晚。公司楼下有个湖,最近几次上线,有空都会去下面走走3、从公司上线完后,趁着验证功能的时间,写下此篇4、今天闲踱湖边,想写点东西,记录下,写完估计验证也完了,就回家了5、本文非技术文章,是一篇记录自己生活的随笔,我定义自己的程序人生。喜欢看技术文的伙伴可以忽略开头之前文章说过,这是我的一个小

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号