灬小肥狗灬
1
灬小肥狗之家灬

【原创】Powershell知识点

变量

赋值

$var = value

使用

$var
-PhysicalDisks $PhysicalDisk

管道

Powershell的管道是强管道,传递的是对象(Object),使用“|”作为标识

将Get-Disk命令返回的对象传递给命令Where-Object,再将返回的对象传递给New-Partition命令,最后将返回的对象传递给Format-Volume命令。实现了将Nunber为13的磁盘建立一个新的40T的新分区,然后快速格式化为ReFS分区格式,命名卷标为Media,并分配分区号。

Get-Disk |Where-Object {$_.Number -eq 13}|New-Partition -AssignDriveLetter -Size 40TB | Format-Volume -FileSystem REFS -NewFileSystemLabel Media  -Confirm:$false

命令行传参

在运行Powershell脚本时,可以从命令行传递参数到脚本中。
通过param()接收参数。

格式

param[type]$var1,[type]$var2

从命令行传入两个参数,一个是var1,一个是var2。

param([string]$font,[string]$lang = 'en',[string]$src = '.\source',[string]$dst = '.\result',[switch]$help = $false,[int]$processing = 1)

这个脚本需要传入6个参数,其中$font必传,否则会报错,因为它没有默认值。其他参数由于有默认值,所以不传参时会使用默认值。
其中$font、$lang、$src、$dst是字符串类型,$help是开关类型,$processing是整型类型。

调用脚本

.\example.ps1 -font 'font.ttf' -lang 'en' -src '.\src -dst '.\dst -processing 4'

这个命令调用了example.ps1脚本,传入了$font = 'font.ttf'$lang = 'en'$src = '.\src'$dst = '.\dst'$processing = 4这5个参数。

关于开关变量

由于刚才的脚本定义开关变量$help = $false,所以这个变量如果不在命令行里传入,默认为不启动。如果要将变量的值修改为$true,则直接传入-help即可。例如这样.\example.ps1 -help -font font.ttf

灬小肥狗灬

文章作者

发表回复

textsms
account_circle
email

7 + 11 =

灬小肥狗之家灬

【原创】Powershell知识点
变量 赋值 $var = value 使用 $var -PhysicalDisks $PhysicalDisk 管道 Powershell的管道是强管道,传递的是对象(Object),使用“|”作为标识 例 将Get-Disk命令返回的对象传递给命令Wher…
扫描二维码继续阅读
2023-10-14