• <nav id="9ieki"></nav>
      1. 
        <ruby id="9ieki"></ruby>
            Win10系統 - Win10系統官方網站

            強大到沒朋友,Win10 PowerShell簡介(3)

            此前我們已經介紹了兩篇《強大到沒朋友,Win10 PowerShell簡介》系列文章,今天帶來第三篇了解文章。

            五、外部命令

            Windows有著令人驚嘆的兼容性,這是Unix系統和各種類Unix系統望塵莫及地方,PoweShell也幾乎兼容一切已經存在的命令,這也是PowerShell強大的地方之一。與CMD一樣,PowerShell可以很容易調用并執行外部命令,CMD自帶的命令也包括在內,而且可以Powershell提示符中啟動圖形界面的Windows程序(比如如記事本),并且可以捕獲Windows程序生成的文本,并在PowerShell中使用該文本。

            1、執行外部命令

            在PowerShell誕生之前,Windows平臺上就已經有許多程序員創建了數量巨大的實用命令,有些命令甚至在DOS操作系統時代就已經存在了,Windows很好的繼承了下來,這是一筆巨大的寶貴財富,拋棄這些命令是十分不明智的。由于PowerShell命令有“動詞-名詞”結構組成,雖然使命令變得簡單易懂,但也使命令變得很長,部分命令有別名也無濟于事,畢竟不是所有命令都有別名,更不可能為每一個命令創建一個別名。

            有些PowerShell命令的功能和某些外部命令的功能是差不多,但通常外部命令比PowerShell自帶命令要短得多,所以在PowerShell命令窗口中輸入命令時,多使用與自帶命令功能相同的外部命令要大大的減少了輸入文字的數量,減輕手指負擔。

            例如,使用頻率非常高的清屏命令,在CMD中是cls,在PowerShell中是Clear-Host,可以看到,Clear-Host明顯比cls長得多,好在微軟已經把cls作為Clear-Host的內置別名了,所以CMD和PowerShell都可以用cls來清屏。又比如,ping在CMD中也是使用頻率非常高的命令,在判斷網絡故障時非常有用,在PowerShell中沒有對應的命令,有一個功能差不多的Test-Connection命令,他們都是用來判斷網絡連通性的命令,ping卻比Test-Connection的長度短得多,可以為Test-Connection創建一個簡短的別名,也可以直接在PowerShell提示符窗口中直接使用ping命令,反正它們功能差不多。

            下面測試一下我和IT之家的網絡距離吧,大家順便看看Ping命令和Test-Connection命令的不同之處

            IT之家學院:強大到沒朋友,Win10 PowerShell簡介(3)

            圖1:在PowerShell中執行ping命令測試網絡連通性

            IT之家學院:強大到沒朋友,Win10 PowerShell簡介(3)

            圖2:用Test-Connection命令測試網絡連通性

            2、執行外部命令要注意的地方

            外部命令畢竟不是PowerShell親兒子,有時執行外部命令時會遇到一些問題,可是會使大家困惑,接下來我為大家說明一下執行外部命令要注意的地方,只要看完,就知道那些問題都不是個事兒。

            通常遇到的問題都是外部命令的名稱與內置別名相沖突,或者命令的語法與PowerShell語法不同造成的,解決方法也很簡單,名稱沖突就用完整的名稱,語法沖突就用PowerShell的語法,要不就干脆使用具有相同功能的PowerShell命令。

            例如,sc在CMD是常用的服務有關命令,sc在PowerShell是命令Set-Content的別名,在PowerShell中使用sc會被認為是Set-Content命令,這時只要輸入完整的sc.exe命令,就能在PowerShell中正常運行了。如果想用sc命令查詢Spooler服務的狀態,Spooler是打印機服務,首先執行sc query Spooler,沒有任何輸出,這是因為PowerShell把sc當作Set-Content命令的別名了,之后我執行sc.exe query Spooler,就正常了。

            IT之家學院:強大到沒朋友,Win10 PowerShell簡介(3)

            圖3:使用sc命令查詢Spooler服務

            有時我們從網絡中下載一些命令行程序,比如著名的下載工具curl命令,可以通過PowerShell執行,明明是很簡單的事情,PowerShell偏偏就不把它做好,這里我用軟媒魔方(廣告費,謝謝)做個演示。假設我的電腦之前藍屏了,我想用軟媒藍屏助手查看原因,于是在PowerShell命令窗口中輸入bsodhelper.exe,然后PowerShell就報個錯,好像是不想執行它,敢罷工,信不信我一口鹽汽水噴死你!

            IT之家學院:強大到沒朋友,Win10 PowerShell簡介(3)

            圖4:打開bsodhelper.exe報錯

            CMD就從來不會有這種破事,PowerShell為什么這么麻煩?之所以會報這個錯誤,絕對不是微軟吃飽了撐的,是為了用戶安全,想想看,為了破解某個軟件,從網上下載一個命令行破解工具,瀏覽器不讓下載,就先找教程關了SmartScreen,下完后被Windows Defender秒刪,一氣之下接著找教程把Windows Defender干掉,費勁千辛萬苦終于把破解工具下載下來了,CMD立刻就能執行,PowerShell卻能讓你猶豫一下,盡管可能最后你成功執行了并破解了某軟件,但是電腦卻中毒了,于是去網上發帖“Windows垃圾,Windows太不安全了,下個軟件就能中毒,蘋果系統才是世上最好的系統”。相信我,這種人不但有,還絕非少數。

            廢話了這么多,說說怎么才能執行這個bsodhelper.exe,很簡單在輸入bsodhelper.exe之前,先輸入一個半角的“.”,然后打個同樣是半角的“\”,“/”也行,反正PowerShell都認,正確輸入方式:

            .\bsodhelper.exe

            當然還有一種辦法,就是把這個文件的完整的絕對路徑輸進去,比如我把bsodhelper.exe放在c:\PCMaster下,就直接輸入:

            c:\PCMaster\bsodhelper.exe

            如果以后每次都想執行這個命令,那就請把命令所在的路徑添加到系統環境變量,就不細說了。


            人妻精品久久久久中文字幕,免费无码又爽又刺激高潮视频,亚洲成a人片在线观看无码变态,a级国产乱理伦片在线播放