[玩转系统] PowerShell 变量 |如何声明和初始化PowerShell变量?
作者:精品下载站 日期:2024-12-14 04:58:49 浏览:15 分类:玩电脑
PowerShell 变量 |如何声明和初始化PowerShell变量?
PowerShell 中的变量简介
默认情况下,PowerShell 中的变量是自动的,这意味着它会根据您分配的数据选择一种数据类型,例如,如果 $age=1 则为 int32,如果为 $student =”Ranjan”则为 int32是一个字符串。 PowerShell 中的变量以 $符号开头。 PowerShell 中的变量不区分大小写,它们可以包含任何字母、数字和特殊字符。如果是特殊字符,则需要用 {} 括起来,例如 $ {Ranjan rating out of 10 is}=10。我们可以从变量 $ {Ranjan rating out of 10 is} 得到输出为 10。在非常简单的单词中,变量是任何重要数据(如任何字符串或任何整数)的占位符。下面屏幕中的示例包含带有特殊字符的变量。
如何在Powershell中声明变量?
变量声明是指用变量的数据类型或者基本属性来命名变量。在 PowerShell 中,命名变量只是将变量通知到内存。一旦我们分配了诸如字符串或整数之类的东西,它就会被告知内存有关变量的数据类型,并且据此,它仅在那时完成内存中的分配。
通过声明,我们仅通知系统有关变量类型及其名称,在声明中我们没有定义保存变量所需的内存大小。内存大小需要保存任何可变部分,由系统在初始化时完成。
PowerShell 支持除字符串和整数之外的许多其他数据类型,例如浮点数、小数和布尔值等。您不必显式声明变量的数据类型; PowerShell 在初始化时自动选择数据类型。 PowerShell还在初始化时提供数据类型转换。
$number ="Ranjan"//string
$number =34//int32
$sum=$number+$number
在PowerShell中,我们可以为任何变量严格定义数据类型。下面的例子中,我们严格定义了变量,因此我们只能分配与其数据类型相关的数据。
[Int]$number="Ranjan"//throw an error as we defined it as Int and assigning the value of the string
[Int]$number=23
PowerShell 中变量的自动转换。在下面的示例中,最初,我们分配了一个字符串,检查了它的数据类型,发现它是一个字符串,分配了一个整数值,检查了它的数据类型,发现它是 int32。
$id ="test123"
$id.GetType().Name
$id=78
$id.GetType().Name
如何在Powershell中初始化变量?
初始化意味着在我们最初分配某些内容时告诉系统保存变量所需的内存大小。我们可以根据进一步的用途初始化变量。
例如,下面的年龄每年都在增加。
$age =0
$age=$age+1
$age=$age+1
$age=$age+1
$age=$age+1
很快。但是如果我们像下面这样初始化
$age="zero"
$age=$age+1
$age=$age+1
$age=$age+1
$age=$age+1
因此我们发现在初始化时我们应该根据用户的需要使用整数值或字符串进行初始化,以便进一步编程。
Powershell 中变量的规则和规定
让我们讨论一下 PowerShell 变量的一些规则。 PowerShell 变量始终以 $符号开头,它可以包含字母、数字和下划线的组合。如果您确实认为使用除此之外的字符很重要,则必须将它们括在花括号中。不应使用已预定义的变量名称,也不要将字符串分配给严格定义的 int 变量,否则会引发错误。PowerShell 保留了 $$、$?、$^和$_ 包含字母数字和特殊字符。
以下是有效变量名称的示例:
$schoolType, $schoolType_1, ${school-type not known}
下面是一些错误的变量命名方式。
schoolName, $school-type, $school type
示例:
让我们看看下面提到的例子:
$schoolId = 1, 2, 3 //assigning array to variable
//Checking it’s data type , we can see it is an Object type
$schoolId.GetType().Name
Object[]
$schoolId="ranjan" //assigning string to same variable
//Checking it’s data type , we can see it is a String type
$schoolId.GetType().Name
String
$schoolId=23 //assigning int value to same variable
//Checking its data type, we can see it is a Int32 type
$schoolId.GetType().Name
Int32
$schoolId=FALSE //wrong way of assignment throw an error
$schoolId=$FALSE //correct way of assignment
//Checking its data type, we can see it is a Boolean type
$schoolId.GetType().Name
Boolean
在上面的示例中,我们首先将数组分配给变量而不是字符串名称,然后分配给数字,当我们分配 FALSE 时,它会突然抛出错误,因为 $FALSE 是分配任何布尔值的正确方法。
[int]$schoolNumber = 81 //Strictly defining data type of variable to integer
$schoolNumber = "9999" //Here string of numeric will be converted to an integer
$schoolNumber = "zero" //As we have defined integer so we can not assign string
它会抛出一个错误,请参见下面的屏幕。
[string]$words = "Ranjan"
$words = 30 // The integer is converted to a string.
$words += 10 //Treat $words as string only
$words+= 21 //keep concatenate as string
$words+= 31
在上面的代码块中,因为我们将 $words 定义为字符串,所以这里不会执行任何算术运算,它将所有这些变量视为字符串并将它们连接为字符串。上述执行的屏幕如下所示。
让我们了解 PowerShell 中的日期数据类型,
[datetime] $DOB = "04/11/88" //It will convert string of date to Date objects.
$DOB
输出: 1988 年 4 月 11 日星期一上午 12:00:00
屏幕如下所示,
在上面的示例中,我们只是将日期作为字符串变量传递,PowerShell 将其转换为日期和时间对象。
结论
总而言之,我希望我能够以最简单的方式解释变量。 PowerShell 为变量定义提供了很大的灵活性,并且提供自动类型转换,这使得它非常强大且易于使用。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag