溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PowerShell與Cmd命令行的示例分析

發(fā)布時(shí)間:2021-10-25 10:35:00 來源:億速云 閱讀:228 作者:小新 欄目:系統(tǒng)運(yùn)維

這篇文章主要介紹了PowerShell與Cmd命令行的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

 PowerShell中的命令

Windows PowerShell 是一種命令行外殼程序和腳本環(huán)境,使命令行用戶和腳本編寫者可以利用 .NET Framework 的強(qiáng)大功能。它引入了許多非常有用的新概念,從而進(jìn)一步擴(kuò)展了您在 Windows 命令提示符和 Windows Script Host 環(huán)境中獲得的知識和創(chuàng)建的腳本

啟動(dòng)PowerShell,在其中輸入幾個(gè)常用的Cmd命令

PS D:\Projects\Practise\PowerShell> dir
    Directory: D:\Projects\Practise\PowerShell
Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----         1/23/2013  12:35 PM            d1
d----         1/23/2013  12:35 PM            d2
-a---         1/21/2013   8:38 PM      36314 alias.txt
-a---         1/21/2013   8:32 PM     241530 cmdlets.txt

或者

PS D:\Projects\Practise\PowerShell> cd ..
PS D:\Projects\Practise>

結(jié)果跟我們的預(yù)期是差不多。不過,我們是否就能據(jù)此說PowerShell就是PowerShell是命令行的加強(qiáng)版嗎?再試試下面這個(gè)命令:

PS D:\Projects\Practise\PowerShell> dir /ad
dir : Cannot find path 'D:\ad' because it does not exist.

…

這個(gè)跟我們的期望相去甚遠(yuǎn)。在Cmd中,它應(yīng)該輸出當(dāng)前位置的子文件夾的信息,但是這里,它似乎理解不了我們的參數(shù)。下面這個(gè)命令也是一樣:

PS D:\Projects\Practise\PowerShell> fc .\alias.txt .\cmdlets.txt
Format-Custom : A positional parameter cannot be found that accepts argument '.\cmdlets.txt'.

…

我本來想要調(diào)用比較兩個(gè)文件的fc命令,結(jié)果它卻理解成了Format- Custom,牛頭不對馬嘴。這是怎么回事兒呢?到這里我們就可以回答前兩個(gè)問題了:PowerShell不能執(zhí)行Cmd命令行的所有命令,確切地說,PowerShell不能執(zhí)行任何Cmd命令,至少不能直接執(zhí)行。這是因?yàn)?,PowerShell不是Cmd的新版本或者加強(qiáng)版什么的,只是它的有些命令從長相到功能都跟Cmd命令很相似而已。

PowerShell與Cmd命令行的關(guān)系

PowerShell可以做為一個(gè)應(yīng)用程序在Cmd中運(yùn)行,其運(yùn)行方式有點(diǎn)像在Cmd中運(yùn)行SQLCmd或者Nslookup,在沒有明確exit退出之前,一直是應(yīng)用程序的運(yùn)行環(huán)境,一切的輸入,包括命令和數(shù)據(jù),都由應(yīng)用程序來接受和處理。

D:\Projects\Practise\PowerShell>powershell 
Windows PowerShell
Copyright (C) 2012 Microsoft Corporation. All rights reserved.
PS D:\Projects\Practise\PowerShell> get-help
TOPIC
    Windows PowerShell Help System

…

Cmd也可以在PowerShell中作為應(yīng)用程序運(yùn)行,其運(yùn)行方式與在Cmd中運(yùn)行PowerShell相似:

PS D:\Projects\Practise\PowerShell> cmd
Microsoft Windows [Version 6.2.9200]
(c) 2012 Microsoft Corporation. All rights reserved.
D:\Projects\Practise\PowerShell>dir /ad
Volume in drive D is Doc
Volume Serial Number is A6C5-E7CE
Directory of D:\Projects\Practise\PowerShell 01/30/2013 04:54 PM <DIR> . 01/30/2013 04:54 PM <DIR> .. 01/23/2013 12:35 PM <DIR> d1 01/23/2013 12:35 PM <DIR> d2
&hellip;

PowerShell通過Alias這個(gè)特性,可以讓使用者以Cmd風(fēng)格來使用PowerShell命令。這樣做的好處是讓用戶在剛接觸PowerShell的時(shí)候,就像在使用Cmd一樣親切、熟悉。壞處是,讓人容易把 PowerShell和Cmd搞混了。不過當(dāng)你了解了Alias的概念和Get-Alias命令以后,這個(gè)問題將迎刃而解:

PS D:\Projects\Practise\PowerShell> get-alias dir, echo, type
CommandType Name ModuleName ----------- ---- ---------- Alias dir -> Get-ChildItem Alias cd -> Set-Location Alias echo -> Write-Output

就是說dir實(shí)際上是PowerShell的Get-ChildItem命令的一個(gè)別名,cd是Set-Location的別名。。。到這里PowerShell和Cmd的關(guān)系問題算是解決了。

Cmd命令行會(huì)被PowerShell替代嗎?

我其實(shí)一直以來都很討厭類似“誰不如誰好”、“誰要代替誰”的問題,放到這里也一樣,新的東西必然有它的優(yōu)越性,舊的東西也有一票粉絲。從現(xiàn)在PowerShell被接受的程度來看,短時(shí)間內(nèi)Cmd不會(huì)被PowerShell替代。長遠(yuǎn)來看呢,誰知道呢。我只知道,多一份選擇就多一份自由,多一種可能性

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“PowerShell與Cmd命令行的示例分析”這篇文章對大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI