[轉]淺談CMD和win powershell的區別

1、前言:本文給大家簡單描述了一下POWERSHELL和CMD的區別,簡單的說,Powershell是cmd的超集,換句話說,cmd能做的事情,Powershell都能做,但是Powershell還能額外做許多cmd不能做的活。

2、cmd是和powershell都可以做命令行交互,批處理和powershell腳本功能也相當。

我不知道你怎么理解cmd,但下面是powershell是基于.net的,只要你足夠了解.net,你可以使用她做任何你想做的事情。

Windows PowerShell 是專為系統管理員設計的新 Windows 命令行 shell。Windows PowerShell 包括交互式提示和腳本環境,兩者既可以獨立使用也可以組合使用。

與接受和返回文本的大多數 shell 不同,Windows PowerShell 是在 .NET Framework 公共語言運行時 (CLR) 和 .NET Framework 的基礎上構建的,它接受和返回 .NET Framework 對象。環境中的這一根本更改帶來了管理和配置 Windows 的全新工具和方法。

Windows PowerShell 引入了 cmdlet(讀作“command-let”)的概念,這是內置到 shell 中的一個簡單的單一功能命令行工具。可以分別使用每個 cmdlet,但是組合使用這些簡單的工具執行復雜任務時才發揮其作用。Windows PowerShell 包括一百多個基本的核心 cmdlet,您可以編寫自己的 cmdlet 并與其他用戶共享它們。

與許多 shell 一樣,Windows PowerShell 為您提供了對計算機上文件系統的訪問。此外,使用 Windows PowerShell 提供程序還可以訪問其他數據存儲,如注冊表和數字簽名證書存儲,就像訪問文件系統一樣容易。

簡單的說,Powershell是cmd的超集,換句話說,cmd能做的事情,Powershell都能做,但是Powershell還能額外做許多cmd不能做的活。

主要是系統管理功能、腳本語言和在線幫助更強大,你確實可以只把它當成cmd來用,也可以學和用得更深

powershell的優點

沒有做不到,只有想不到。用 PowerShell 甚至可以 Load C/C++ 寫的 dll,然后執行里面的代碼,COM 就不說了。跑題了,題主問不同,竊以為 PowerShell 和 cmd 最大的不同,并且也是和其它 *nix Shell 最大的不同在于 PowerShell 的 pipe 傳遞的是 .net object,而不是 raw 字符串,于是這就打開了一扇神奇的大門,因為 PowerShell 的一切組件都可以和諧地共存,彼此不用互相猜忌,不用猜你喂給我的數據合不合法,也不用擔心我喂給你的參數格式對不對。大家共享一個 CLR,擁有豐富的 metadata,自由自在地在 .net 的世界里徜徉和探索。順帶宣傳一下 https://chocolatey.org/ ,Windows 的 apt-get,基于 PowerShell

PowerShell為什么強大

微軟是一個很”低調”的公司,取名為微軟,感覺有“微微軟下去”的意思,這是個玩笑了。windows 操作系統 和office辦公軟件,如此之優秀,微軟也沒敢命名為PowerOS 和 PowerOffice,但是在Monad(PowerShell的前身)發布后的第二年(2006年),微軟就直接就發布了Windows PowerShell 1.0,并且”大言不慚“地命名為PowerShell,這也有點太不淡定了。

今天我根據自己的體驗來稍微總結一下為什么PowerShell如此之強大。

破天荒的方便

諸如存儲計算中GB,MB,KB單位等;數組聲明中的1..n和下標為-1的處理;還有所見即所得,通俗易懂的動詞+名詞結構Cmdlet。

面向對象

與面向過程相比,面向對象更方便更容易描述現實世界,也算趕上了時髦。

綁上.NET這棵大樹

正所謂大樹下面好乘涼,PowerShell綁上.NET這個大款了,借助.NET Framework平臺強大的類庫,幾乎讓一切都成為可能。

強大的兼容性

完全兼容windows 平臺上其它調用,如可執行文件(exe),批處理bat和vb script等。

基于平臺的可擴展性

微軟有個優點,與應用相比,它更喜歡做平臺。PowerShell早已變成一個平臺,在PowerShell 剛發布的第二年,微軟的System Center Operations Manager 和 SharePoint就提供了針對該平臺的組件,后來的活動目錄,Hyper-V,Windows Azure,Office 365就更不用說了。除了微軟,亞馬遜的云平臺管理,Dell的out-of-hand 管理,也都提供了基于PowerShell的管理組件。PowerShell 儼然變成了一個標準,變成了一個規范。

舉例介紹
如果您第一次聽說過PowerShell,想稍微觀望下,且看下面的10個例子。

[數學計算] (39+79-51)*497/28 = ?
心算再快,應當也沒有敲回車鍵快吧:

1
2
PS> (39+79-51)*497/28
1189.25

[日期] 距離下一個情人節還有多少分鐘?
我知道距離多少天好算,如果變成分鐘呢?

1
2
3
4
5
6
7
8
$now=Get-Date
$day=[datetime]'2-14'
if($now -lt $day ){
$day.Subtract($now).TotalMinutes
}
else{
$day.AddYears(1).Subtract($now).TotalMinutes
}

[容量] 3GB > 3145726KB嗎 ?

1
2
PS> 3gb -gt 3145726kb
True

[ID]能產生一個GUID嗎?

1
2
3
4
5
PS> [guid]::NewGuid()
Guid
----
0f283ab4-f402-400c-98ce-359442f11f1a

[文件] Windows目錄下所有可執行文件exe的大小是多少?

1
dir $env:windir -Filter *.exe | measure -Sum Length

[注冊表] 注冊表路徑HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework 下 ‘Enable64Bit'的值是多少?

1
(Get-ItemProperty -Path hklm:SOFTWARE\Microsoft\.NETFramework ).Enable64Bit

[證書] 指紋為[28DE15612AFF1CD69596AB17AF06AE86CB9C003B]的證書在證書存儲區嗎?

1
2
ls Cert:\LocalMachine\My\ |
where { $_.Thumbprint -eq '28DE15612AFF1CD69596AB17AF06AE86CB9C003B' }

[服務] 打印機服務有沒有啟動呢?

1
Get-Service spooler

[進程] 當前運行了多少個IE進程?

1
(Get-Process iexplore ).count

[報表] 將所有運行的進程信息導出為HTML報表?

1
Get-Process | ConvertTo-Html | Out-File a.html

現在知道了powershell的強大了吧,在windows平臺powershell還是比較好用的。


---------------------
作者:《小小火車》
來源:CSDN
原文:https://blog.csdn.net/qq_29166327/article/details/79461748
版權聲明:本文為作者原創文章,轉載請附上博文鏈接!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/285606.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/285606.shtml
英文地址,請注明出處:http://en.pswp.cn/news/285606.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【ArcGIS風暴】柵格計算器(Raster Calculator)運算出現錯誤問題及解決方案匯總

柵格計算器(Raster Calculator) 是一種空間分析函數工具,可以輸入地圖代數表達式,使用運算符和函數來做數學計算,建立選擇查詢,或鍵入地圖代數語法。只有熟練的運用并記憶一些常用的公式,才能很好的運用柵格計算器。在使用的過程中,容易出現這樣那樣的問題,本文就把柵…

「博客之星」評選,互投5星,留鏈必投

?? ? ?? 歡迎誠信互投? ? ? ?? ????? 謝謝各位大佬門,互投5星????? 投票地址: https://bbs.csdn.net/topics/603958492 投票地址: https://bbs.csdn.net/topics/603958492 投票地址: https://bbs.csdn.net…

為 ServiceCollection 實現裝飾器模式

為 ServiceCollection 實現裝飾器模式Intro在二十四種設計模式中,有一個模式叫做裝飾器模式一般用來動態地給一個對象添加一些額外的職責,就增加功能來說,裝飾模式比生成子類更為靈活,有更好的擴展性,我們也可以借助 D…

手把手教你啟用Win10的Linux子系統 Ubuntu

1、打開“開發者選項” 2、啟用“執行 Linux 程序的windows 子系統” 3、應用商店下載安裝Ubuntu 附:ubuntu的一些命令及查看已安裝軟件包的命令 // 系統 # uname -a # 查看內核/操作系統/CPU信息 # head -n 1 /etc/issue # 查看操作系統版本 # cat…

jquery的height()和javascript的height總結,js獲取屏幕高度

jquery的height()和javascript的height總結,js獲取屏幕高度在javascript和jquery中,都有對各種高度的寫法,在這里,我們就著重講一下窗口、文檔等高度的理解。(寬度和高度差不多!)jquery的各種高度首先來說一說$(docume…

【地理信息系統GIS】教案(七章全)第五章:空間數據查詢與空間分析

目錄 第一節 空間數據查詢第二節 緩沖區分析第三節 疊置分析第四節 網絡分析第五節 DEM建立及分析第一節 空間數據查詢 1.1 空間數據查詢 1、空間數據查詢的含義 從空間數據庫中找出所有滿足屬性約束條件和空間約束條件的地理對象。 空間數據查詢的一般過程 2、空間數據查詢…

Understanding G1 GC Logs--轉載

原文地址:https://blogs.oracle.com/poonam/entry/understanding_g1_gc_logs Understanding G1 GC Logs By Poonam-Oracle on Jun 18, 2012 The purpose of this post is to explain the meaning of GC logs generated with some tracing and diagnostic options fo…

Dart語言精簡入門介紹

Dart語言精簡入門介紹 1、介紹 Dart 在設計時應該是同時借鑒了 Java 和 JavaScript和kotlin 面向對象 JIT&AOT:JIT(Just in Time)優點:即時編譯,開發期間更快編譯,更快的重載;缺點&#…

WPF 窗口居中 變更觸發機制

本文經原作者授權以原創方式二次分享,歡迎轉載、分享。原文作者:唐宋元明清原文地址:https://www.cnblogs.com/kybs0/p/7420767.html窗口居中 & 變更觸發機制解決:1)單實例窗口,窗口每次隱藏后再顯示時…

[轉]5分鐘實現Android中更換頭像功能

5分鐘實現Android中更換頭像功能 寫在前面: 更換頭像這個功能在用戶界面幾乎是100%出現的。通過拍攝照片或者調用圖庫中的圖片,并且進行剪裁,來進行頭像的設置。 功能相關截圖如下: 下面我們直接看看完整吧: public cl…

Excel VBA窗體上打印系統時間print now出錯原因及解決方案

如圖所示,需要在窗體上顯示當前系統時間: 首先,我們看一下now函數的原型: Now 函數   語法:Now   說明:返回一個 Variant (Date),根據計算機系統設置的日期和時間來指定日期和時間。   示例: Private Sub CommandButton1_Click()Dim a As Varianta = NowMsgBox…

(第九周)團隊項目14

項目名:食物鏈教學工具 組名:奮斗吧兄弟 組長:黃興 組員:李俞寰、杜橋、欒驕陽、王東涵 代碼地址:HTTPS: https://git.coding.net/li_yuhuan/FoodChain.git SSH: gitgit.coding.net:li_yuhuan/FoodChain.git SCRUM會議…

為什么 C# 訪問 null 字段會拋異常?

一:背景 1. 一個有趣的話題最近在看 硬件異常 相關知識,發現一個有意思的空引用異常問題,拿出來和大家分享一下,為了方便講述,先上一段有問題的代碼。namespace ConsoleApp2 {internal class Program{static Person pe…

Android項目實戰(十五):自定義不可滑動的ListView和GridView

不可滑動的ListView (RecyclweView類似) public class NoScrollListView extends ListView {public NoScrollListView(Context context, AttributeSet attrs) {super(context,attrs);}public void onMeasure(int widthMeasureSpec, int heightMeasureSpec){ int mExpandSpec …

C語言試題一百之輸入某年某月某日,判斷這一天是這一年的第幾天

?作者簡介:大家好我是碼莎拉蒂,CSDN博客專家?????? ??個人主頁:個人主頁 ??系列專欄:C語言試題200例 ??推薦一款模擬面試、刷題神器?? 點擊跳轉進入網站 1、題目 題目:輸入某年某月某日,判斷這一天是這一年的第幾天? 分析: 以 3 月 5 日為例,應該先把…

[轉]Java學習路線圖(完整詳細2019版)

一門永不過時的編程語言——Java 軟件開發。 Java編程語言占比: 據官方數據統計,在全球編程語言工程師的數量上,Java編程語言以1000萬的程序員數量位居首位。 而且很多軟件的開發都離不開Java編程,因此其程序員的數量最多。而在…

【CASS精品教程】Win7+CAD2008+CASS9.1(含CASS3D)完美安裝教程(附完整軟件安裝包下載)

本文講解win764位系統上安裝CAD2008+CASS9.1(含CASS3D)免費版安裝,文末附完整軟件下載地址,親測可用!!! 文章目錄 1. CAD2008安裝2. CASS9.1安裝3. 軟件下載地址1. CAD2008安裝 雙擊安裝包中的Setup.exe,開始安裝。 點擊【安裝產品】。

(十一)Jmeter另一種調試工具 HTTP Mirror Server

之前我介紹過Jmeter的一種調試工具Debug Sampler,它可以輸出Jmeter的變量、屬性甚至是系統屬性而不用發送真實的請求到服務器。既然這樣,那么HTTP Mirror Server又是做什么用的呢? 一、HTTP Mirror Server的作用: 它可以在本地臨…

C語言九十八之實現企業發放的獎金根據利潤提成。利潤(I)低于或等于 10 萬元時,獎金可提 10%;利潤高 于 10 萬元,低于 20 萬元時,低于 10 萬元的部分按 10%提成,高于 10 萬元的

?作者簡介:大家好我是碼莎拉蒂,CSDN博客專家?????? ??個人主頁:個人主頁 ??系列專欄:C語言試題200例 ??推薦一款模擬面試、刷題神器?? 點擊跳轉進入網站 1、題目 企業發放的獎金根據利潤提成。利潤(I)低于或等于 10 萬元時,獎金可提 10%;利潤高 于 10 萬…

[轉]大數據環境搭建步驟詳解(Hadoop,Hive,Zookeeper,Kafka,Flume,Hbase,Spark等安裝與配置)

大數據環境安裝和配置(Hadoop2.7.7,Hive2.3.4,Zookeeper3.4.10,Kafka2.1.0,Flume1.8.0,Hbase2.1.1,Spark2.4.0等) 系統說明搭建步驟詳述 一、節點基礎配置 二、Hadoop安裝和配置三、…