天天看點

PowerShell第一講,别名,變量,指令。一丶 PowerShell簡介

目錄

  • 一丶 PowerShell簡介
    • 二丶PowerShell簡單指令學習
      • 1.PowerShell簡單指令
      • 2.powershell使用标準參數
    • 三丶 powershell 别名指令使用
      • 3.1 别名
      • 3.2 cmd指令的使用
      • 3.3 powershell 别名相容性
      • 3.4 别名的建立
    • 四丶PowerShell資訊
      • 4.1 擷取指令的幫助資訊
      • 4.2 擷取指定指令資訊的文法
    • 五丶PowerShell中的變量

一丶 PowerShell簡介

二丶PowerShell簡單指令學習

1.PowerShell簡單指令

動詞與名字結合

Get-command -verb Get 檢視所有指令為“Get的指令”

Get-command -verb set 檢視所有指令為“Set的指令”

Get-command -? 檢視所有指令的幫助”

Get-command -CommandType Alias 擷取指令的别名

Get-command -commandtype Function 擷取函數功能

Get-command -commandtype script 擷取腳本

Get-Process 列出系統所有程序

Stop-Process 程序PID結束程序

Get-service 列出所有服務

Stop-service [服務名] 停止服務

2.powershell使用标準參數

  • 1.标準參數的使用

Powershell使用标準參數,前邊必須帶有-

例如:

Get -command -name Clear-host           

複制

其中參數是 command name name後面跟着真實的名字

  • 2.幫助參數的使用

幫助參數是 “?”

例如:

get -command -?            

複制

幫助參數任何指令都可以使用,表示顯示此指令的幫助,該指令不會執行

這裡的指令簡稱為(cmdlet)

  • 3.常用參數

powershell有幾個常用參數,這些參數由powershell 引擎控制。

通用參數的行為始終是相同的。

參數清單如下

WhatIf, Confirm,Verbose,Debug,Warn,ErrorAction,ErrorVariable,OutVariable和OutBuffer           

複制

三丶 powershell 别名指令使用

3.1 别名

powershell支援别名,可以通過别名來引用此指令。

例如:

clear-host 是powershell内部函數,表示清空指令視窗

它的别名有 cls clear等,powershell會自動識别,并且運作 Clear-host

3.2 cmd指令的使用

powershell跟CMD不是一個東西,但是你學習過cmd再去學習powershell

基本上的指令你都可以使用 例如cls 在cmd中可以清屏 powershell中可以做Clear-host函數的别名

常見cmd指令如下

指令 指令 指令 指令
cat dir mount rm
cd echo move rmdir
chdir erase popd sleep
clear h ps sort
cls history pushd tee
copy kill pwd type
del lp r write
diff ls ren

通過一條指令可以看這些别名在powershell中的真實名稱

Get-Alias 别名           

複制

例子:

Get-Alias cls           

複制

輸出

CommandType     Name                               Version    Source
-----------     ----                               -------    ------
Alias           cls -> Clear-Host           

複制

它可以告訴你别名 cls真實的名字是 clear-host

3.3 powershell 别名相容性

因為powershell别名很多。是以我們要簡單了解其對應關系

這樣的話我們再看到别名就明白是什麼意思了

比如si 别名為si你看了不懂。

但是有下面的别名表也能了解了

動詞 别名縮寫
Get g
Set s
item i
location l “不是一”
command cm
Alias al

那麼 si 就是 set-item

再舉個例子

cmd中kill 可以檢視其别名,那麼我們可以寫成縮寫

gal kill           

複制

看看kill所代表的power内置函數是什麼

輸出

>>> gal kill

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Alias           kill -> Stop-Process           

複制

3.4 别名的建立

sal (Set-Alias)可以建立别名

如下:

Set-Alias -name 别名 -Value 真實的指令           

複制

如:

Set-Alias -Name gi -Value Get-Item           

複制

但是上面的指令會出錯,因為内置的指令你不能修改。

比如說gi已經是内置的

那麼換一個

如下:

sal -Name aabbcc -Value Get-Process
亦或者寫作
Set-Alias -Name aabbcc -Value Get-Process           

複制

意思代表的是 将Get-Process設定别名,别名為aabbcc,此時運作

aabbcc則等價于 執行 Get-Process

四丶PowerShell資訊

4.1 擷取指令的幫助資訊

help 指令名
Get-help 指令名           

複制

4.2 擷取指定指令資訊的文法

gcm Get-Help -syntax           

複制

主要就是 syntax參數,此參數傳回指令的文法

五丶PowerShell中的變量

PowerShell中可以建立變量來儲存一些值

  • 聲明變量文法
$[變量辨別符]
例:
$Value            

複制

變量可以儲存powershell指令資訊。例如

$Value = echo "Hello"           

複制

此時 Hello 會放在變量中而不會輸出。

  • 變量的操作

可以使用指令檢視操作變量的詳細資訊

Get-Command -Noun Variable | Format-Table -Property Name,Definition -AutoSize -Wrap           

複制

  • 删除所有變量,powershell會定義系統變量
Remove-Variable -Name * -Force -ErrorAction SilentlyContinue           

複制

  • 擷取系統變量
Get-Variable           

複制

  • powershell可以使用環境變量,也就是env中的變量,cmd也可以使用
  • 可以擷取變量進行檢視
Get-ChildItem env:           

複制

此時的env 可以看作一個變量,可以擷取下面的子目錄或者路徑

如:

>>> $env:tmp

C:\windows\Temp           

複制

我系統下的 temp目錄是在windows下則輸出的是windows下的 temp

利用env變量還可以設定環境變量

如下:

$env:MyPath='path'
如:
$env:QQPATH='D:\XXX\XXX\bin'           

複制