Powershell基础
前置知识
powershell脚本后缀名:.ps1
# 查看powershell版本
$PSVersionTable
# 查看执行策略
Get-ExecutionPolicy
# 执行策略更改为远程签名:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
常见类型
PowerShell 中有很多类型,包括但不限于以下类型:
# 字符串类型(String)
[string] $str = "Hello, World!"
# 整数类型(Integer)
[int] $int = 42
# 浮点数类型(Float)
[float] $float = 3.14
# 布尔类型(Boolean)
[bool] $bool = $true
# 数组类型(Array)
[int[]] $array = @(1, 2, 3, 4, 5)
# 哈希表类型(Hashtable)
[hashtable] $hashTable = @{
"Name" = "John"
"Age" = 30
}
# 日期时间类型(DateTime)
[datetime] $dateTime = Get-Date
# 字节数组类型(Byte Array)
[byte[]] $byteArray = [System.Text.Encoding]::UTF8.GetBytes("Hello, World!")
# 空类型(Void)
$void = $null
# PSObject 类型
# PSObject 对象具有一些特殊的属性和方法,使得在处理对象时更加灵活和方便。
# 例如,可以使用 .Properties 属性来访问对象的属性,
# 使用 .Methods 属性来访问对象的方法,
# 以及使用 .Members 属性来访问对象的所有成员(包括属性和方法)。
[psobject] $psObject = Get-Process | Select-Object -First 1
# 输出变量的值
Write-Host "String: $str"
Write-Host "Integer: $int"
Write-Host "Float: $float"
Write-Host "Boolean: $bool"
Write-Host "Array: $($array -join ', ')"
Write-Host "Hashtable: $($hashTable.Name), $($hashTable.Age)"
Write-Host "DateTime: $dateTime"
Write-Host "Byte Array: $($byteArray -join ', ')"
Write-Host "Void: $void"
Write-Host "PSObject: $($psObject.ProcessName)"
[类型]可省略。
字符串
在 PowerShell 中,“”(双引号)和’'(单引号)用于定义字符串。它们之间有一些区别,主要体现在字符串内部的变量展开和转义字符的处理上。
双引号和单引号
双引号 (""):
在双引号中,变量会被展开为其对应的值。例如,$var = “world”,那么在双引号中的字符串"Hello $var!“会被解释为"Hello world!”。
双引号中可以使用转义字符,如\n表示换行、\t表示制表符等。
双引号中可以包含单引号,但不会转义单引号。例如,"He said ‘Hello!’"会被直接解释为He said ‘Hello!’。
双引号中的特殊字符,如 $、`、\ 等会被解释。
单引号 (''):
在单引号中,变量不会被展开,而是直接作为字符串的一部分。例如,$var = “world”,那么在单引号中的字符串’Hello $var!'会被解释为Hello $var!。
单引号中不会对任何字符进行转义处理,包括’本身。例如,'He said ‘‘Hello!’’'会被解释为He said ‘Hello!’。
单引号中的特殊字符不会被解释。
字符串常用操作
连接字符串:使用字符串连接操作符 + 可以将多个字符串连接在一起。


2712

被折叠的 条评论
为什么被折叠?



