佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > PowerShell入門教程之PowerShell和Cmd命令行的關(guān)系?

PowerShell入門教程之PowerShell和Cmd命令行的關(guān)系?

熱門標(biāo)簽:服務(wù)外包 AI電銷 百度競(jìng)價(jià)排名 鐵路電話系統(tǒng) Linux服務(wù)器 呼叫中心市場(chǎng)需求 地方門戶網(wǎng)站 網(wǎng)站排名優(yōu)化

PowerShell是命令行的加強(qiáng)版嗎?PowerShell能執(zhí)行命令行的所有命令嗎?PowerShell要替代命令行?這三個(gè)問題的答案足以讓我們了解PowerShell與Cmd命令行之間的關(guān)系。讓我們慢慢道來。。。

PowerShell中的CMD命令

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

復(fù)制代碼 代碼如下:

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

或者
復(fù)制代碼 代碼如下:

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

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

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è)命令也是一樣:

復(fù)制代碼 代碼如下:

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,牛頭不對(duì)馬嘴。這是怎么回事兒呢?到這里我們就可以回答前兩個(gè)問題了:PowerShell不能執(zhí)行Cmd命令行的所有命令,確切地說,PowerShell不能執(zhí)行任何Cmd命令,至少不能直接執(zhí)行。這是因?yàn)?,PowerShell不是Cmd的新版本或者加強(qiáng)版什么的,只是它的有些命令從長(zhǎ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)用程序來接受和處理。

復(fù)制代碼 代碼如下:

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相似:

復(fù)制代碼 代碼如下:

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

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

復(fù)制代碼 代碼如下:

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替代。長(zhǎng)遠(yuǎn)來看呢,誰知道呢。我只知道,多一份選擇就多一份自由,多一種可能性。

您可能感興趣的文章:
  • PowerShell中運(yùn)行CMD命令的技巧總結(jié)(解決名稱沖突和特殊字符等問題)
  • PowerShell中使用Get-Alias命令獲取cmdlet別名例子
  • Windows Powershell 命令集 cmdlets
  • PowerShell入門教程之Cmd命令與PowerShell命令相互調(diào)用的方法
  • 在cmd中直接運(yùn)行PowerShell腳本文件的方法
  • 淺談CMD和win powershell的區(qū)別

標(biāo)簽:崇左 湖南 黃山 銅川 蘭州 衡水 湘潭 仙桃

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PowerShell入門教程之PowerShell和Cmd命令行的關(guān)系?》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    道孚县| 长子县| 涞水县| 临武县| 凤冈县| 即墨市| 邢台县| 都江堰市| 安岳县| 孝昌县| 霸州市| 莱西市| 鄂伦春自治旗| 岱山县| 泾川县| 阿拉善右旗| 平果县| 武隆县| 宜兰县| 桂阳县| 禹州市| 连平县| 湛江市| 黄梅县| 襄城县| 闽清县| 永嘉县| 荃湾区| 什邡市| 宣汉县| 古田县| 静乐县| 黔东| 玛沁县| 香格里拉县| 庆阳市| 通许县| 荥经县| 林口县| 栖霞市| 丽水市|