我是靠谱客的博主 长情面包,这篇文章主要介绍Powershell 脚本简单入门(二)——变量和赋值,现在分享给大家,希望可以做个参考。

参考 syntax-variables

在PowerShell中,所有的变量前面都会带着一个美元符号“$”,如:

复制代码
1
2
3
4
$var = 1 $var = "some string" [DataType]$var = value

注:PowerShell的数据类型有如下几种:

  • [string] 定长Unicode字符串
  • [char] 16位Unicode字符
  • [byte] 8位无符号字符
  • [int] 32位有符号整型
  • [long] 64位有符号整型
  • [bool] 布尔型
  • [decimal] 128位小数
  • [single] 单精度32位浮点小数
  • [double] 双精度64位浮点小数
  • [DateTime] 时间日期
  • [xml] xml对象
  • [array] 数组
  • [hashtable] 哈希表

多个不同的变量可以在一行内初始化:

复制代码
1
2
$var2=($var1=1)+1

变量也可包含标点符号,但需要用花括号{}括起来,比如${:,.ldc12n}='dscasd'
然而如果这种变量里包含冒号那么PowerShell会认为它代表路径并会将变量存储到文件中。
如在脚本里输入以下语句:

复制代码
1
2
${D:2.txt} = 123

运行后可以发现在D盘下创建了一个名为2.txt的文本文件,里面的内容是123
同样,如果在D盘下新建一个名为1.txt的文本文件,并在其中输入some text
运行以下变量,可以输出文件内容:

复制代码
1
2
3
4
PS D:> ${D:1.txt} sdfsdfsdcsdc PS D:>

如刚开始的示例[DataType]$var = value,除了可以不直接申明变量的类型,还可以显示的指定变量的类型。

复制代码
1
2
3
4
5
6
7
8
[int]$myPrice = 128 [string]$myDescription = "Barbecue grill" [string]$myDescription = 123 [string]$myDate = (get-date).ToString("yyyyMM") $([DateTime] "12/30/2009") $([DateTime]::Now) [datetime]$start_date=[datetime]::now.date.addDays(-5)

可是,如果指定的类型是int,但却用string赋值,则会报错。

复制代码
1
2
3
4
5
6
7
8
PS E:myprojectpowershell_script> .test.ps1 无法将值“fsdcsdc”转换为类型“System.Int32”。错误:“输入字符串的格式不正确。” 所在位置 E:myprojectpowershell_scripttest.ps1:1 字符: 1 + [int]$i = "fsdcsdc" + ~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [],RuntimeException + FullyQualifiedErrorId : InvalidCastFromStringToInteger

在PowerShellV3.0的版本中,可以指定有效范围:

复制代码
1
2
3
4
5
6
7
8
9
PS C:UsersAdministrator> [ValidateRange(1,10)][int]$x = 1 PS C:UsersAdministrator> $x = 200 无法验证此变量,因为值 200 不是变量 x 的有效值。 所在位置 行:1 字符: 1 + $x = 200 + ~~~~~~~~ + CategoryInfo : MetadataError: (:) [], ValidationMetadataException + FullyQualifiedErrorId : ValidateSetFailure

数组变量可以用以下的方法初始化:

复制代码
1
2
$myArray = "The", "world", "is", "everlasting"

PowerShell还支持变量这样赋值:

复制代码
1
2
3
4
$varX, $varY = 64 # $varA = 1, $varB = 2, $varC = 3 $varA, $varB, $varC = 1, 2, 3

以下单词为保留单词,不能用来当做变量名:

break, continue, do, else, elseif, for, foreach, function, filter, in, if, return, switch, until, where, while.

最后

以上就是长情面包最近收集整理的关于Powershell 脚本简单入门(二)——变量和赋值的全部内容,更多相关Powershell内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(76)

评论列表共有 0 条评论

立即
投稿
返回
顶部