從零開始——PowerShell應用入門(全例子入門講解)

来源:http://www.cnblogs.com/lavender000/archive/2017/06/03/6935589.html
-Advertisement-
Play Games

學習一門技術,不止要會,還要善用,例子就是帶你快速入門的最佳利器。本文就是要用例子,不,大量的例子來帶你走進PowerShell應用世界。 本文主要介紹一些PowerShell入門的基礎知識,對技術小白來說可以快速入門,對技術老鳥來說可以複習鞏固,廢話不多說,直接進入正題。 PowerShell,相 ...


學習一門技術,不止要會,還要善用,例子就是帶你快速入門的最佳利器。本文就是要用例子,不,大量的例子來帶你走進PowerShell應用世界。

本文主要介紹一些PowerShell入門的基礎知識,對技術小白來說可以快速入門,對技術老鳥來說可以複習鞏固,廢話不多說,直接進入正題。

PowerShell,相信大家早已耳熟能詳,在上篇文章中給大家介紹了PowerShell發展歷程,關於PowerShell的更多介紹,大家也可以參考這裡:https://msdn.microsoft.com/powershell/scripting/getting-started/fundamental/using-windows-powershell

1.   如何啟動PowerShell

現在的Windows系統中一般都集成了PowerShell,啟動方法有如下幾種:

a)       直接開始菜單 -> 所有程式 ->  Windows PowerShell -> Windows PowerShell(不同系統可能路徑不一樣)。啟動後效果如下:

b)      開始菜單 -> 運行(run) -> 輸入”PowerShell”。啟動成功後和上圖一樣。

c)       命令提示符(Command Prompt) -> PowerShell。啟動後效果如下:

啟動成功後就可以在裡面輸入要執行的命令了,這就是PowerShell的交互界面。

2.   如何運行程式、腳本和已有的軟體

如果以前經常使用一些別的工具進行開發,可能會有一些可執行文件、Perl腳本、批處理文件等,如果不想放棄這些,可以使用PowerShell直接運行它們。

a)       在系統路徑下運行程式、腳本、批處理文件或者其它可執行文件,可以直接輸入文件名運行。比如我把一個Test.cmd文件放在了”C:\Windows\System32”下, 就可以如下方式運行它:

b)      如果文件名字或路徑中有空格,需要用(')引號將命令擴起來,同時在前面加上符號(&),這種叫做調用操作:

c)       要運行當前目錄下的命令,需要文件名前加.\,如:

d)      要運行當前目錄下的命令,而且命令名字或路徑帶有空格,需要同時加上符號(&)和('):

3.   運行PowerShell命令

除了支持傳統的Windows可執行文件,PowerShell還推出了一個功能強大的新的命令叫做cmdlet。所有的cmdlet命令規則都遵循動詞-名詞這種語法結構,如Get-Command、Get-Content等,如下Get-Command命令意思是獲取包含Process的所有命令集合:

其中輸入”Get-Command -Name *Process”的時候,不用輸入完整的命令名,PowerShell會幫助你使用Tab鍵來自動完成命令輸入,包括命令的名稱和參數的名稱,如這樣輸入即可:Get-Comm<Tab> -N<Tab> *Process。

4.   如何查找指定命令以及命令詳情

a)       若要在PowerShell中執行一條任務,但苦於不知道用什麼命令的時候,這時就要查找一個命令,可以使用Get-Command命令,並且它支持通配符。例子如下:

b)      若要查看一個命令的作用,可以使用Get-Help命令。例子如下,還可以指定參數-Detailed、-Full、-Examples。

c)       由於PowerShell可以使用.NET Framework中的對象,因此要想查看一個對象的屬性和方法,可以使用Get-Member命令。例子如下:

5.   如何在外部調用PowerShell腳本

有時候可能需要從批處理文件、定時任務或者其它非PowerShell程式調用PowerShell腳本,語法:PowerShell “& ‘full path of the script’ arguments”。如下例子是從CMD調用PowerShell。

6.   如何獲知最後執行命令的狀態

PowerShell提供了兩個變數可以檢測最後執行的命令是否成功:$lastExitCode和$?。

$lastExitCode:數字型變數,返回最後腳本或應用程式執行返回的退出碼或出錯級別:

$?:布爾型變數,返回最後執行命令的成功還是失敗:

變數$?使用更通用的方式來描述最後的應用程式退出的狀態,在以下應用程式發生錯誤的時候,PowerShell會設置$?為False:

  • 應用程式退出碼非零;
  • cmdlet或腳本輸出錯誤信息;
  • cmdlet或腳本捕獲到終止錯誤或異常。

當命令執行沒有錯誤的時候,PowerShell設置$?變數為True。

7.   如何計算命令執行時間

如果想計算一個命令執行時間,可以使用Measure-Command命令,如下:

8.   瞭解命令的別名

PowerShell一些內置命令都有別名,方便記憶和輸入,可以用Get-Help命令查看別名,如下Get-Children的命令有三個別名:gci、ls和dir,輸入任意一個都可以列舉當前目錄。

9.   如何操作使用管理控制台歷史命令

在PowerShell視窗中,按上下箭頭鍵可以尋找歷史命令進行調用,也可以運行Get-History命令查找,用Invoke-History Id方式進行調用:

10. 如何重定向輸出

如果想把得到的結果輸出到文件中,可以使用Out-File命令或者重定向操作符將命令輸出的結果保存在文件中:

11. 如何記錄PowerShell會話全文

如果想生成當前會話的記錄,可以運行Start-Transcript命令,它基於當前系統時間。如果想停止,運行Stop-Transcript:

12. 如何顯示對象屬性為列表或表格

使用Format-List和Format-Table命令,直接看例子:

 

Note:

  • 本文介紹的所有命令都可以用Get-Help獲取詳細信息,瞭解詳情後才能夠更好的使用(學習使用PowerShell過程中Get-Help/Get-Command/Get-Member是最常用的三大命令,要學會善用)。
  • Windows PowerShell的基本使用方法完全不限於上述例子,學會這些,只是幫助入門,可以更好的繼續向下學習。
  • 未來會有繼續細緻的更新,敬請期待。

 

[原創文章,轉載請註明出處,僅供學習研究之用,如有錯誤請留言,如覺得不錯請推薦,謝謝支持]

[原文:http://www.cnblogs.com/lavender000/p/6935589.html,來自永遠薰薰]


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • ASP.NET Core 應用程式發佈命令: 發佈示例命令(生成在 目錄下): 上面命令並沒有指定 發佈,什麼意思呢?比如 ASP.NET Core 應用程式中的 配置,測試環境和生產環境配置並不相同(比如資料庫連接字元串),如果用上面的發佈命令,我們還需要手動拷貝下不同環境的 文件,以後要更改了, ...
  • 源碼支持QQ 1039318332 源碼地址:http://git.oschina.net/sunzewei/EIP 一、更新記錄1、更新日期:2017-02-24 00:00:002、更新內容: 版本升級:V2.0 1、支持多資料庫,可在實體類指定具體操作資料庫,可實現系統分庫操作 2、重新整理架 ...
  • 本章和大家分享的內容是使用Signal R框架創建個簡易的群聊功能,主要講解如何在.Net的MVC中使用這個框架,由於這個項目有官方文檔(當然全英文),後面也不打算寫分享篇了,主要目的是讓朋友們在需要使用Web實時通信的時候有更多一種解決方案,畢竟這是微軟主推的一種解決方案之一。 SignalR網上 ...
  • NuGet包地址: https://www.nuget.org/packages/OYMLCN.WeChat.Core 由於來的OYMLCN.WeChat存在深度封裝,並沒有做完整的測試,對於使用不友好,現已重新構建SDK的接收消息被動回覆模塊。 現已做到最大程度的簡易化及模塊化,每個模塊都已完成單 ...
  • 回到目錄 在MVC,EF,LINQ環境里,我們經常會用到DataModel(DO)和ViewModel(VO),可能對於它們的屬性校驗我們會採用特性的方式,當然這很直觀,就連微軟的DEMO也是如些,一般是這樣的代碼 而這種設計方式給我們以後的維護帶來很多問題,具體大叔總結一下: 綜上所述,Fluen ...
  • Java基礎十二--多態是成員的特點 一、特點 1,成員變數。 編譯和運行都參考等號的左邊。 覆蓋只發生在函數上,和變數沒關係。 Fu f = new Zi();System.out.println(f.num);//是父類,答案是3 2,成員函數(非靜態)。 編譯看左邊,運行看右邊。 因為成員函數 ...
  • 頭文件algorithm中的常用函數 一、非修改性序列操作(12個) 迴圈 對序列中的每個元素執行某操作 for_each() 查找 在序列中找出某個值的第一次出現的位置 find() 在序列中找出符合某謂詞的第一個元素 find_if() 在序列中找出一子序列的最後一次出現的位置 find_end ...
  • 慕課網Hibernate初探之一對多映射實驗及總結 一、本課核心 * 1、如何在MyEclipse中使用Hibernate * 2、如何實現Hibernate中一對多的映射 * 3、如何創建Session對象 * 4、Hibernate如何使用增刪改查 1、如何在MyEclipse中使用Hibern ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...