Powershell极速教程-如何在三分钟内编写项目编译脚本

分析及思路

来看一下项目目录结构

Powershell极速教程-如何在三分钟内编写项目编译脚本

炒鸡正常的三板斧src+docs+tests。咦,怎么会多出一个build的文件夹呢,这就是我们今天要研究的目录。今天我会带着大家在五分钟之内编写一个极简的编译脚本。

build内及其简单Powershell极速教程-如何在三分钟内编写项目编译脚本

思路很明显了:获取当前脚本所在目录=>获取上一级目录=>回到上一级(.sln所在目录)=>执行dotnet publish –c release

第一分钟:了解基本的变量

1.$psscriptroot:当前脚本文件所在目录,从Powershell3.0开始,有一个新的自动变量叫$PSScriptRoot,这个变量以前只存在模块里,它能指向当前文件夹中的脚本的位置(准确的说在你运行脚本的时候它才有用)

2.变量定义:$代表var,$workspace={$workspace} 定义一个变量

第二分钟:路径变换的基本操作

1.split-path –parent {$path}

2.join-path {$path1} {$path2}

3.cd {$path}进入某目录

第三分钟:编写脚本

1.获取当前脚本所在目录,为方便查看,有些变量我们可以向控制台输出一下:

echo $psscriptroot

2.获取上一级目录,我们可以定义它为我们的工作目录:

$workspace=split-path –parent $psscriptroot

3.回到上一级(.sln所在目录)

cd $workspace

4.执行dotnet publish –c release

dotnet publish –c release

最终脚本如下:

echo $psscriptroot

$workspace=split-path -parent $psscriptroot

echo $workspace

cd $workspace

echo "releasing project..."

dotnet publish -c release

Powershell极速教程-如何在三分钟内编写项目编译脚本

最后

powershell 作为一种脚本语言,他可能比多数脚本语言都要强大。作为windows的日常使用者,了解并使用它,一定会让我们日常的工作事半功倍!

最后贴出 自动打包类库并发布到nuget.org的例子给大家参考一下:

Powershell极速教程-如何在三分钟内编写项目编译脚本

上一篇:关于图像读取函数imread()的一点使用经验,注意默认参数的赋值


下一篇:利用C# 窗体设计 写一个抽奖游戏