参考 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
4PS 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
8PS 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
9PS 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内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复