Powershell Basic

# powershell 的学习

# 获得帮助相关的

# "Hello World" | Get-Member

# 数据类型

# 如何定义变量
# - 以 $ 符号开头,可以保存任意的管道或者命令的结果到变量中供后续使用,
# - 如果变量存了大量的数据,而不在使用,可以使 $null来释放这些内存空间.
1
# 环境变量:

# 获得所有的环境变量 - Get-ChildItem env:

# 为了在制定的范围内创建变量,在变量前提供SCOPE关键字
# $SCROPE:variable = value

# 访问.net 静态对象 | New-Object 一个新的对象
# [System.IO.File]::ReadAllLines("C:\Users\HFZ1SZH\Desktop\TEMP.txt")

# 加载另外的库文件
# [System.Reflection.Assembly]::LoadWithPartialName("System.Web")



# 使用COM对象

# $objectCom = New-Object -ComObject ProgId
# $excel = New-Object -ComObjext "Excel.Application"

# 获得对象的可用的方法或者属性
# $excel | Get-Member ------ Get-Member -InputObject $excel

# 获得对象的类型 - $excel.GetType().ToString()

# 向对象添加自定义的方法或者属性. - Add-Member
# 向类添加自定义的方法和属性 采用xml 格式,自定义的类型拓展文件


# 流程控制的问题

# - 比较 和 逻辑操作
# -比较运算符: -eq, -ne, -ge, -lt, -le, -like, -notlike, -match, -notmatch, -contains, -notcontains, -is, -lsnot
# -常用逻辑符: -add, -or, -xor, -not
# Get-Help About_operator


# 条件语句控制 if, elseif, else

$temperature = 90
if ($temperature -le 0)
{ "Balmy" }
elseif ($temperature -le 32)
{ "Freezing" }
elseif ($temperature -le 50)
{ "Cold" }
elseif ($temperature -le 70)
{ "Warm" }
else
{ "Hot" }

# Switch 管理条件语句

$temperature2 = 20

switch ($temperature2) {
    { $_ -lt 32 } { "Below Freezing"; break }
    32 { "Exactly Freezing"; break }
    { $_ -le 50 } { "Cold"; break }
    { $_ -le 70 } { "Warm"; break }
    default { "Hot" }
}

# 使用循环 - for, foreach, while, do

for ($counter = 1; $counter -le 10; $counter++) {
    "Loop Number $counter"
}

"==================ForEach Loop==================="

foreach ($file in (dir)) {
    "File length: " + $file.Length
}

"==================ForEach-Object Loop==================="
Get-ChildItem | ForEach-Object { "File length: " + $_.FullName }

"==================while Loop==================="
$response = ""
while ($response -ne "Q") {
    $response = Read-Host "Type Somthing>"
}

"================== do...while Loop==================="

$response = ""
do {
    $response = Read-Host "Input>"
} while ($response -ne "q")

"================== 1..10==================="

# 添加暂停或延迟

# Read-Host "Press ENTER"

#$host.UI.RawUI.ReadKey()

# Start-Sleep 5
# Start-Sleep -Milliseconds 300


#===============字符串与非结构化文本==============================

# 使用'',字面值字符串
# 使用"", 可拓展字符串

# 创建一个多行或格式化的字符串

$myString = @"
This is the first line
of a very long string. A "Here string"
Lets you to create block of test
that span several lines.
"@

# 格式化字符串信息

$formatString = "{0,8:D4}  {1:C}`n"
$formatString
$report = "Quantity Price`n"
$report += "======================="
$report

# 字符串的查找

# -like, -match, Contains(), IndexOf()

# 字符串的替换

# str.Replace(), -replace[正则表达式]
“Hello World" -replace '(.*) (.*)', '$2 $1'

# 格式化日期 - Get-Date 的 -Format 参数

猜你喜欢

转载自www.cnblogs.com/zhaxichun/p/10828036.html