起因

使用VuePress发布新文章每次都需重新手动改打包项目,有没有自动化打包的方式呢?

Process类

Process提供对本地和远程进程的访问权限,利用它我们可以执行系统文件。官方文档:传送门

实践

要执行的脚本内容如下:

cd /home/coco/桌面/Project/Vue/demo/demo/;
#需要管理员权限
yarn build;

编写dotnet代码

using (var process = new Process())
{
    //要执行的文件,bash因为环境变量的原因不用写绝对路径
    process.StartInfo.FileName = "bash";
    //参数
    process.StartInfo.Arguments = "vue-build.sh";
    //不使用系统自带的Shell
    process.StartInfo.UseShellExecute = false;
    //重定向执行进程的标准输入流,由程序实现自动输入
    //process.StartInfo.RedirectStandardInput = true;
    //重定向执行程序的标准输出流
    process.StartInfo.RedirectStandardOutput = true;
    //执行脚本文件
    process.Start();
    //读取执行结果进行判断
    if (process.StandardOutput.ReadToEnd().Contains("Done in "))
    {
        Console.WriteLine("vue项目打包成功");
    }
    //等待脚本执行结束
    process.WaitForExit();
}

打开方式

编译该项目,***使用管理员方式***运行打包好的二进制文件

image-20221113231414068

需要使用管理员权限运行,避免脚本因权限问题运行失败