执行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;

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • [Err] 1062 – Duplicate entry ‘0’ for key ‘PRIMARY’

    [Err] 1062 – Duplicate entry ‘0’ for key ‘PRIMARY’

    2021年10月17日
    54
  • 7道常见的数据分析面试题[通俗易懂]

    7道常见的数据分析面试题[通俗易懂]InfoQ内容来自极客时间《数据分析实战45讲》数据分析师近几年在国内互联网圈越来越火,很多开发都因为薪资和发展前景,希望转行到数据分析岗。今天,我们就来聊聊面试数据分析师的那些事。其实,数据分析能力是每个互联网人的必备技能,哪怕你没有转行数据分析师的计划,也推荐你看看这个专题,提升你的数据能力。数据分析的能力要求与数据分析相关的工作有一个特质,就是对数字非常敏感,同时也要求对数据具…

    2022年5月27日
    34
  • pycharm运行没结果_pycharm安装lxml库

    pycharm运行没结果_pycharm安装lxml库原因是用程序选择了console来运行,取消console方法如下:Run->EditConfigurations取消runwithpythonconsole的勾

    2022年8月28日
    0
  • 3500元计算机基本硬件配置清单,电脑硬件中配配置清单

    3500元计算机基本硬件配置清单,电脑硬件中配配置清单电脑硬件中配配置清单导语:攒机一直是电脑爱好者热衷的事,自己选购各配件,组装一台适合自己要求的机器给很多DIYer带来了极大的欢乐。下面小编为你整理的电脑硬件中配配置清单,希望对你有所帮助!电脑硬件中配配置清单1、实用性机型建议:首选1:intelG1620双核+H61M主板。(价格低廉性能不弱,超值!)首选2:intelG1840双核+H81M主板。(核心显卡性能比G1620更强)2、中级机…

    2022年7月12日
    12
  • drone无人机操作_无人机怎么平稳降落

    drone无人机操作_无人机怎么平稳降落本文基于dronekit在实体无人机上实现最基本的起飞和降落,测试了这一过程中速度的变化以及起落位置的偏移。

    2022年8月15日
    4
  • 程序已在运行,只能运行一个实例_最常用解决冲突的办法

    程序已在运行,只能运行一个实例_最常用解决冲突的办法//开发中常用的只允许一个程序运行的办法//程序以单例模式运行常用办法,创建一个互斥量//由于互斥量只允许一个进程或者线程占用会创建失败,利用这个特性可以做到单例运行改程序#include"stdafx.h"#include<windows.h>#include<stdio.h>int_tmain(intargc,_TCHAR*argv[]…

    2022年10月5日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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