Powershell 应该如何入门使用
前提
分为三个步骤,只需要不断重复组合即可
- 理解设计规则
- 使用帮助手册
get-help
- 结合管道命令组合使用
|
- 查看方法属性
get-member
get-command
- 调用类方法
([command]).<method>
设计规则
- 查看属性
- 筛选属性
- 格式化输出
常用类型分为:Alias、Cmdlet、Function、Application、Script…..(共9个,详见下方超链)
Alias | 1 | Aliases create a name that refers to other command types |
---|---|---|
All | 511 | All possible command types. |
Application | 32 | Any existing application (can be console or GUI). |
Cmdlet | 8 | A cmdlet. |
Configuration | 256 | A Configuration |
ExternalScript | 16 | An MSH script (.ps1 file) |
Filter | 4 | Script filters that are defined by a script block. |
Function | 2 | Script functions that are defined by a script block |
Script | 64 | A script that is built into the runspace configuration |
get-command <command>
# 例子
❯❯ pwsh-demo 01:01 Get-Command vim
# 输出
CommandType Name Version Source
----------- ---- ------- ------
Application vim.exe 0.0.0.0 D:\.data\Scoop\shims\vim.exe
类
cmdlet
为 powershell
的实例,返回的是一个对象
- Method 方法
- Property 基本属性
- AliasProperty 别名属性
- CodeProperty 代码属性
- NoteProperty 注释属性
- ScriptProperty 脚步属性
- Property sets 属性集
❯❯ pwsh-demo 00:42 get-date | Get-Member
### output
TypeName: System.DateTime
Name MemberType Definition
---- ---------- ----------
Add Method datetime Add(timespan value)
AddDays Method datetime AddDays(double value)
AddHours Method datetime AddHours(double value)
AddMilliseconds Method datetime AddMilliseconds(double value)
...
DisplayHint NoteProperty DisplayHintType DisplayHint=DateTime
Date Property datetime Date {get;}
...
DateTime ScriptProperty System.Object DateTime {get=if ((& { Set-StrictMode -Version 1; $this.DisplayHint }) -ieq "Date")…
❯❯ pwsh-demo 00:40 get-date
### output
2022年10月7日 0:42:29
❯❯ pwsh-demo 00:40 get-date | Format-list
DisplayHint : DateTime
Date : 2022/10/7 0:00:00
Day : 7
DayOfWeek : Friday
DayOfYear : 280
Hour : 0
Kind : Local
Millisecond : 814
Minute : 40
Month : 10
Second : 54
Ticks : 638007000548142568
TimeOfDay : 00:40:54.8142568
Year : 2022
DateTime : 2022年10月7日 0:40:54