天天看點

40個powershell指令,掌握它們讓你成為新一代指令行大神

作者:萊迪娜的風聲

get-command 通過這個指令你可以擷取目前系統下所有可以使用的指令,這是我們查詢指令時要經常用到的,當然這裡面除了指令以外,還包括function,也就是函數

40個powershell指令,掌握它們讓你成為新一代指令行大神

get-process 這個指令可以讓我們擷取目前系統所有正在運作的程序,這個指令有一個别名叫做ps,在cmd中有個tasklist,也可以檢視所有的程序,當然這個tasklist是一個exe,在powershell中你也可以使用

40個powershell指令,掌握它們讓你成為新一代指令行大神

get-help get-childitem 通過這指令,你可以擷取get-childitem這個指令的所有幫助,如果加上 -Full 那麼你将會擷取所有的幫助資訊

40個powershell指令,掌握它們讓你成為新一代指令行大神

get-history 使用這個指令,你将會擷取你自己輸入的指令行的曆史記錄,這一點非常友善,cmd就沒有這樣的功能,powershell這個功能很不錯

40個powershell指令,掌握它們讓你成為新一代指令行大神

get-alias 鍵入不帶有任何參數的 get-alias,你将會擷取目前系統支援的所有别名,這非常有用,這意味着你在編寫腳本的時候可以少些很多字元....其實這确實是個讓人困擾的地方,很多人因為看到powershell的指令太長而排斥

40個powershell指令,掌握它們讓你成為新一代指令行大神

get-culture 通過這個指令你将擷取你所在區域

40個powershell指令,掌握它們讓你成為新一代指令行大神

get-date 這個更加友善,可以直接擷取時間,而且這個時間是格式化好的

40個powershell指令,掌握它們讓你成為新一代指令行大神

get-host 通過這個get-host 指令,我們将擷取目前powershell的版本

40個powershell指令,掌握它們讓你成為新一代指令行大神

get-member 這個指令我們通常需要配置管道符來使用,它可以擷取建一個對象的類型以及方法和屬性,這東西說白了,就是可以檢視一個對象的方法和屬性,這個比python友善很多

40個powershell指令,掌握它們讓你成為新一代指令行大神

get-random 這個指令可以幫助我們擷取一個随機數,通過指定 Max 和 Min參數我們可以擷取在指定數值之間的随機數

40個powershell指令,掌握它們讓你成為新一代指令行大神

get-uiculture 和 get-culture 一樣都是用來擷取使用者區域的,顧名思義,get-uiculture是用來擷取ui的區域性設定的

40個powershell指令,掌握它們讓你成為新一代指令行大神

get-unique 這個指令說白了就是來去重的,官方解釋是擷取元素的唯一項,不就是去重嗎,這個指令很不錯,真是不看不知道,一看才發現powershell是如此友善和強大

40個powershell指令,掌握它們讓你成為新一代指令行大神

get-variable 擷取目前控制台視窗的所有變量,用起來很友善

40個powershell指令,掌握它們讓你成為新一代指令行大神

get-childitem 這個指令其實就是powershell版本的dir,其實cmd的dir已經很好用了,隻是get-childitem更加強大,除了檔案它還可以周遊系統資料庫以及證書目錄

40個powershell指令,掌握它們讓你成為新一代指令行大神

get-content 可以擷取文本檔案中的内容,當然了,這個指令是支援指定編碼的,而如果在批進行中,你隻能使用for指令來讀取文本檔案....

40個powershell指令,掌握它們讓你成為新一代指令行大神

get-itemproperty 可以擷取指定項的屬性,就以檔案夾和檔案舉例,Windows目錄的屬性是 d ,也就是directory的意思,代表檔案夾;而 findstr.exe 這指令是一個檔案,其屬性是 a 也就是 archived file 存檔檔案的意思

40個powershell指令,掌握它們讓你成為新一代指令行大神

get-location 就類似于 cmd 中 雙百分比号cd 以及 linux中的 pwd 其意思是擷取目前路徑

40個powershell指令,掌握它們讓你成為新一代指令行大神

get-psdrive 可以擷取所有的驅動器,在這裡我們可以看到 C D E 三個盤符,以及環境變量 和 函數 一節系統資料庫 和 證書路徑等,這個指令指定了get-childitem可以從哪兒擷取内容

40個powershell指令,掌握它們讓你成為新一代指令行大神

get-item 擷取指定位置的項,判斷這個項是否存在。在powershell,dir可以周遊的目錄不局限于路徑還包括系統資料庫什麼,是以我們一般在powershell都稱為項

40個powershell指令,掌握它們讓你成為新一代指令行大神

get-service 可以擷取本地或者遠端計算機正在運作的服務,是的,它也可以擷取遠端計算機的服務,這個指令其實和services元件服務中的内容是一緻的

40個powershell指令,掌握它們讓你成為新一代指令行大神

get-executionpolicy 擷取powershell 目前控制台視窗的執行政策

40個powershell指令,掌握它們讓你成為新一代指令行大神

set-alias gp1 get-help 通過這個指令,我們可以設定get-help的指令别名,當然這個别名隻在目前控制台有效果,如果我們輸入pwsh回車,進入新的powershell這些alias都會失效,要特别注意的是,在設定時,别名在前,cmdlet在後

40個powershell指令,掌握它們讓你成為新一代指令行大神

set-variable 這個指令其實就是$str 可以直接進行指派,平時我們不使用這種方法來完成變量的指派操作,set-variable 這樣寫那麼多變量怕是要累壞。。

40個powershell指令,掌握它們讓你成為新一代指令行大神

set-location 可以設定目前路徑,就類似于批處理的 cd 以及 pushd 指令,這個指令的别名其實就是cd,這意味着我們可以使用cd

40個powershell指令,掌握它們讓你成為新一代指令行大神

set-content 這個指令對于 get-content ,用來輸出内容到文本,就是就是寫檔案的一個指令,可以指定是覆寫寫入還是追加寫入

40個powershell指令,掌握它們讓你成為新一代指令行大神

Set-ExecutionPolicy 設定powerhsell的執行政策 這裡設定的遠端簽名,當執行網絡上下載下傳的ps檔案需要簽名認證,而本地自己編寫的ps檔案則可以直接運作

40個powershell指令,掌握它們讓你成為新一代指令行大神

write-host 将内容寫出到控制台視窗,這個指令具有一個最大的問題就是不支援管道符号,是以大家都用的很少

40個powershell指令,掌握它們讓你成為新一代指令行大神

write-process 用來設定簡易的進度條,我對于這些東西不感冒,感覺也不是很好看

40個powershell指令,掌握它們讓你成為新一代指令行大神

write-debug 顯示調試資訊,預設情況下是不顯示 這個資訊的,必須要設定 $debugpreferenc 為 Continue 才能顯示debug資訊

40個powershell指令,掌握它們讓你成為新一代指令行大神

write-verbose 顯示備援資訊,和write-debug一樣,需要用一個開關 $verbosepreference 設定為 continue 打開這個輸出

40個powershell指令,掌握它們讓你成為新一代指令行大神

write-warning 和 write-error 也是同樣的設定方式,隻要将errorperference 和 warningperference 設定為 continue 使用這兩個指令輸出資訊

40個powershell指令,掌握它們讓你成為新一代指令行大神

write-output 這個指令很多人都應該很熟悉,用來輸出内容的,通常我們用它來替代write-host ,這個指令支援管道符,這意味着你可以使用它來傳遞資訊,當它後面沒有管道符時将會輸出資訊到螢幕上

40個powershell指令,掌握它們讓你成為新一代指令行大神

clear-variable 之前我們講過get-variable 以及 set-varaible 的設定方法,而clear-variable 顧名思義是用來清空變量值的,注意這裡的清空不是删除,變量還在的,隻是值沒了

40個powershell指令,掌握它們讓你成為新一代指令行大神

remove-varaible 可以用來移除一個變量值,經過remove的變量名,再次引用将會報錯,因為不存在這個變量

40個powershell指令,掌握它們讓你成為新一代指令行大神

在powershell中連接配接字元串使用加号來完成,同java一樣,這類符号用起來更加友善。

40個powershell指令,掌握它們讓你成為新一代指令行大神

$date.AddHours(-5) 在get-date中有一個 addHours 以及 addDays 等函數,可以用來增添日期時間,非常友善的用法,負數即為減去的時間

40個powershell指令,掌握它們讓你成為新一代指令行大神

start-sleep -m 3000 用來延時3000毫秒,就是延時3秒的意思

40個powershell指令,掌握它們讓你成為新一代指令行大神

wait-process 用來等待一個程序結束,以notepad為例,在啟動notepad之後,wait-process挂起,直到notepad程序消失以後,腳本才會繼續執行

40個powershell指令,掌握它們讓你成為新一代指令行大神

test-path 用來判斷一個路徑是否存在,當路徑不存在時傳回false,存在則傳回true

40個powershell指令,掌握它們讓你成為新一代指令行大神

w32tm 設定以及同步時間,在這一系列指令中 start-service w32time用來啟動服務,這個必須先啟動,不然一上來就執行 w32tm resync 會報錯的,之後我們set-date設定時間為 明天,然後再用w32tm 同步時間

40個powershell指令,掌握它們讓你成為新一代指令行大神