一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - PowerShell - PowerShell入門教程之Cmd命令與PowerShell命令相互調用的方法

PowerShell入門教程之Cmd命令與PowerShell命令相互調用的方法

2020-06-27 12:12Luke Zhang PowerShell

這篇文章主要介紹了PowerShell入門教程之Cmd命令與PowerShell命令相互調用的方法,本文講解了在Cmd命令中調用PowerShell命令、在PowerShell命令中調用Cmd命令的方法,需要的朋友可以參考下

     單獨使用一種腳本來完成一項任務是理想的狀態,而現實的情況往往是,因為歷史原因、或者團隊組成,你不得不將多種腳本或者程序組合在一起,來完成某項任務。本文的討論范圍是Cmd命令PowerShell命令之間的組合與調用。

     毋庸置疑,Cmd命令與PowerShell命令之間的調用有兩個方向。即在Cmd命令中調用PowerShell的命令,以及在PowerShell腳本中調用Cmd命令。需要說明的是,這里的調用分兩個層次:一、簡單的在其中一個的環境中執行另外一個命令,完成部分工作;二、在其中一個的執行上下文中調用另一個的命令,并根據返回結果來選擇后面的邏輯。

在Cmd命令中調用PowerShell命令

如果只是在Cmd命令中調用PowerShell的命令,而不需要記錄PowerShell的返回結果,是非常簡單的。可以直接在Cmd命令或者腳本中執行類似一下命令:

復制代碼 代碼如下:

powershell echo "Hello"


執行上述命令的時候,Cmd是把PowerShell當成一個應用程序來執行的。      

 

在Cmd命令中調用PowerShell的命令并獲得返回值的可行方法并不多。這是因為,Cmd命令對于結果的處理往往需要借助于文件讀寫,很少有機會在各個命令之間傳遞數據,并保存中間結果的。For命令是其中最好的一個方法,它的指向方法如下:

復制代碼 代碼如下:

for /f  %i in ('powershell echo "Hello"') do (set a=%i)


以上命令的執行結果是%a%被賦值為Hello。當然,如果只是簡單賦值,就沒有必要這樣大費周折。調用PowerShell的命令,肯定是看中了它強大的編程能力,比如自定義的排序等等。

 

  我遇到的一個實際的例子是這樣的:文件服務器上有一個目錄,里邊放著一些按年月命名的目錄。因為這個目錄結構已經確定下來了,而且很多組都在使用,不能隨便改動。我們有一個任務就是每天定時去最新的年月目錄里拷貝build。麻煩的是,第一、文件夾時按照12.1、12.2。。。12.10、12.11、12.12、13.1。。。這樣命名的;第二、從時間上沒法找,因為最新的目錄不是在月底,而是在月中的某一天生成的。以Cmd命令有限的編程能力,肯定是不好解決這個問題的。我最終寫了一個PowerShell的腳本文件,在Cmd的腳本中調用,終于解決了這個問題。

在PowerShell命令中調用Cmd命令

       由于PowerShell強大的管道功能,在PowerShell命令或者腳本中調用Cmd命令并獲得返回結果是件很容易的事情,是否獲得結果對于調用Cmd命令的方式也沒有影響。請看如下示例:

復制代碼 代碼如下:

cmd /c dir
$a = (cmd /c dir)
$a


以上示例中,第1行的執行結果,和后兩行的執行結果是一樣的。不同點是,后者的執行結果被保存了下來,前者只是將結果打印在屏幕上。

 

  為什么需要在PowerShell中調用Cmd命令呢(既然PowerShell有如此強大的Shell以及編程特性)?其實原因也很簡單。在PowerShell之前我們有很多很好用的Cmd命令、工具和控制臺程序,如果完全丟棄他們并使用PowerShell重寫的話,那絕對是浪費。要知道,能夠利用最小的改變來高效地完成任務,才是我們的目標。

結語

  一個新的語言,如果不能與已有的資源兼容和溝通,那么它注定不能成為大眾的選擇(也許可能在小眾中流行),最終將被遺棄和忘記。PowerShell與現有系統良好溝通性有目共睹,從它與Cmd命令的關系可見一斑。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩视频免费观看 | 办公室出轨秘书高h | 青青草伊人久久 | 波多野结衣中文字幕在线 | 爸爸的宝贝小说全文在线阅读 | 出水小说 | 国产精品成人 | 草女人逼 | 91夜色视频 | 国产福利资源网在线观看 | 国产专区日韩精品欧美色 | 欧美视 | 91看片在线观看 | 挺进白嫩老师下面视频 | 99九九精品免费视频观看 | 久久久精品日本一区二区三区 | 美女扒开腿让男人桶爽动态图片 | 含羞草传媒网站免费进入欢迎 | 久久精品国产亚洲AV麻豆欧美玲 | 俄罗斯妈妈235 | 免费岛国片 | 私人影院免费观看 | 免费观看一区二区 | 日本中文字幕黑人借宿影片 | 俄罗斯年轻男同gay69 | 99re8在这里只有精品23 | 亚洲精品人成网在线播放影院 | 69一级毛片| 免费观看一级特黄三大片视频 | 国产偷窥 | 国产综合图区 | 久九九精品免费视频 | 毛片免费视频观看 | 男同桌扒开女同桌胸罩喝奶 | 白发在线视频播放观看免费 | 俺去啦最新官网 | tobu8中国在线观看免费视频 | 精品午夜寂寞影院在线观看 | 亚洲高清免费在线观看 | yellow高清视频日本动漫 | 亚洲一二三区久久五月天婷婷 |