- PowerShell
- 基础
- 开始
单行注释: # 多行注释: <# 内容 #>
〇清屏:clear或cls
〇终止程序:Ctrl+C
〇命令历史记录:Get-History | 清除记录:Clear-History(或clhy)
- 设置:
■提前设好运行策略(默认Restricted):
"AllSigned":本地脚本运行需签名|"RemoteSigned":可运行本地脚本,禁网络脚本|"Unrestricted":无限制不推荐
■管理员身份运行:Start-Process pwsh(v5是powershell) -verb runas
〇当前运行策略:Get-executionpolicy
〇去除powershell脚本运行限制 (管理员身份运行):Set-ExecutionPolicy RemoteSigned
〇恢复脚本运行限制(管理员):Set-ExecutionPolicy Restricted
〇当前Powershell版本:Get-Host
- 帮助:*查询官网帮助文档
〇查询命令格式:Get-Help 某命令 -examples(举例) #参数分有值参([参]<值>)和无值参
〇CMD命令在PS的名称:Get-Alias(或gal) cmd命令名
调试|运行:
- 代码语句:{ 语句块就写里面}
- 显示&输入:*输入的命令会优先运行
〇单行显示:echo xx或x` x |换行显示:echo xx空格xx | 输入:Read-Host "请输入" |或echo
〇命令运行时间:Measure-Command {命令}
- 调用命令:.'文件路径'
- 命令结果输出到文件:输命令 | Out-File -FilePath 文件路径 # 全路径或当前路径
- 记录命令历史并保存:Start-Transcript -Path 文件路径→输命令→停止记录:Stop-Transcript
- 延时运行:Start-Sleep -Seconds或-Milliseconds 秒数或毫秒数
■命令全部参数用法:
命令(如ls) -Path(支持通配符) "路径" -Destination "路径" 可继续加参... |
|
<可选参数列表|有些参数某命令没有> -Filter(过滤出) "如*.txt" -Include(只含) "内容" -Confirm(运行前确认) -Container:$false(保留原对象格式,默认true) -Directory "内容" -Exclude "内容" -File "内容" -Recurse(挨个递归找) -Depth目录层数(0当前|1第二级..) -Force(此参可获取无法访问的项目) -ItemType "类型"(文件类型有File/SymbolLink/Directory/Junction/HardLink等) -Name "内容" -Attributes (值有ReadOnly/Hidden/System/Directory/Archive/Device/Temporary/Compressed/Offline/Encrypted/等) -Hidden(显示隐藏文件) -ReadOnly(显示只读文件) |
-FromSession(从将被复制的远程文件上指PSS对象) PSS对象 |-ToSession(将文件拷到远程电脑) PSS对象 -InputObject(ps对象) -LiteralPath(一个或多个路径) -MemberType (值有AliasProperty/CodeProperty/Property/NotePropert/ScriptProperty/PropertySet/Method/CodeMethod/ScriptMethod/Methods/ParameterizedProperty/MemberSet/Event/Dynamic/InferredProperty/Properties/All) -PathThru(控制台打印(默隐藏的)操作结果(对象)) -PSDrive(在哪驱动器查找) 盘符 -Scope(变量范围) local或global或private等 -View (值有Extended|Adapted|Base|All) -WhatIf(运行cmdlet时会怎样) -Static(筛选静态的xxx) -Stream(从文件中获取特定备用NTFS流,仅用于驱动器) -System等 |
-
- 变量与数据:
- 变量:
- 变量:powershell下标从0开始
〇是变量就加$:[数据类型]$变量
〇$_:系统自动变量
〇获取变量列表:Get-Variable
- 获取类型:
〇$谁或(值).GetType()
〇获取类型/属性/方法:$谁或(值) |Get-Member -Name -InputObject 对象 -MemberType 值 -View 值
- 清除变量值:Clear-Variable -Name "谁" # 不带$号
- 删除变量:Remove-Variable -Name "谁"
- 数据类型:
- 基本数据类型:整型int、long |浮点:double |字符串:string |布尔:boolean('true'或'false')
- 判断数据类型:$变量 -is [数据类型]
- 数组/集合:
- 空数组:$数组 = @() |非空数组:$数组 = @