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

概述

参考 syntax-variables

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

$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] 哈希表

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

$var2=($var1=1)+1

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

${D:2.txt} = 123

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

PS D:> ${D:1.txt}
sdfsdfsdcsdc
PS D:>

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

[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赋值,则会报错。

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的版本中,可以指定有效范围:

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

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

$myArray = "The", "world", "is", "everlasting"

PowerShell还支持变量这样赋值:

$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 脚本简单入门(二)——变量和赋值所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部