1. 程式人生 > 實用技巧 >PS下的語法學習總結

PS下的語法學習總結

變數(variable):記憶體單元中,用來做標記的一種值

變數的常見型別

字元型char定義的的是文字

數值型int定義的是數字

布林型bool定義兩種結果的型別,如錯或者對

1)變數需要先人為的定義了才能生效:

如何定義變數

powershell中,有2種方法定義變數

.

使用$符號作為定義變數的標示符

.使用set-variable來定義,具體如下

1$變數名=變數值

eg:$a=2012意思是把2012這個數值賦予a這個變數

2set-variable-name變數名-value"變數值"

eg:set-variable-nameB-value"12"意思是把12這個數值賦予

B這個變數

如何輸出變數名

1write-output$變數名

eg:write-output$a則輸出2012這個值。$a的賦值見上個例子

2$變數名

eg:$a也可以直接這樣賦值。輸出結果一樣為2012

powershell中,還有一些特殊的變數

環境變數--系統變數----系統保留字

如:$env:表示環境變數

$home系統變數

陣列

陣列的概念:用於儲存相同型別的資料元素組成的集合

為什麼要使用陣列

為了方便很好的查詢自己想要的資料

陣列型別

1:一維陣列

如這樣的陣列

水果:蘋果香蕉芒果草莓

2:二維陣列

3:多維陣列

如何定義陣列

陣列的索引號稱為下標

陣列的第一個元素下標為0

方法一

$陣列名="陣列值1","陣列值

2",.........

eg:$a="1","2","3"定義了3個數值的陣列

方法二

$陣列名[email protected]("陣列值1","陣列值2",........)

函式:一個程式碼塊就可以稱為一個函式

為什麼要使用函式

eg:隨機輸入三個數,讓三個數相加給出結果,如何實現?

1:保持各個功能程式碼的獨立性。

2:保證指令碼的高可用性和易維護性。

如何宣告一個函式

function函式名(引數){程式碼}

在宣告引數的同時,需要宣告資料型別並賦予預設值

eg:

functionadd

{

param

([int]$a=0,[int]$b=0)

$c=$a+$b

"$c"

}

函式要支援管道符,需要使用$input變數

egdir-pathd:\|findfolder

列出計算機的基本資訊(計算機名,停止的服務,ip地址)
150323944.jpg

powershell中的操作運算子

150426576.jpg

什麼是運算子:運算子就是告訴程式執行特定的算術或者邏輯操作的符號

150609786.jpg

舉例說明比較運算子

對值進行比較-eq是“等於”的意思,-gt是“大於”的意思-et是“小於”的意思

對條件進行測試

-like表示模糊對比

-contains表示包含

eg:

150641350.jpg


算術運算子

對值進行加,減,乘,除的運算。+-*/

+”還有一個功能,是將輸入的字串連線起來。

150714451.jpg

賦值運算子

賦值用“=

150749674.jpg

邏輯運算子
150810787.jpg

特殊運算子

150850644.jpg

使用IF判斷結果

150920226.jpg

IF結構

流程圖
151008795.jpg

IF的語法結構
151047842.jpg

舉例說明if語句
151113556.jpg

POwershell中的迴圈

什麼是迴圈

151156165.jpg

powershell迴圈的基本語句

1:for迴圈
2:foreach迴圈
3:do.....while迴圈
4:while迴圈

首先for迴圈語法結構

151226485.jpg
FOR

和foreach語法的比較

FOR語句的舉例說明
151327464.jpg

PS中的管道和物件

管道

  在各種現代的shell中,均支援管道的概念。管道的最大特點就是:前一個命令的輸出作為後一個命令的輸入。cmdbash均支援管道的概念,這裡我就不多說了,下面我們說說PS

管道的概念。

  在PS中,繼承了cmd管道符號的表示方法:|表管道;但是PScmd的管道有本質的區別,cmd中的管道傳遞的是文字資訊,而PS中傳遞的是物件,因此PS中的管道更加易於使用和管理。

  例如:get-locationcmdlet命令返回的是一個pathinfo物件,這個物件是一個資訊包,資訊包中包含了相關的資訊。

22物件成員

  基於面向物件的概念,物件具有屬性和方法;這些都可以認為是物件的成員,PS物件均具有眾多的成員,為了檢視這些成員,PS提供了一個獲取物件成員的cmdletget-member

我們可以利用get-member獲取物件的成員資訊。

轉載於:https://blog.51cto.com/xpqinqun/1332379