成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

PowerShell入門(五):Cmd命令與PowerShell命令的交互

系統(tǒng) Windows
毋庸置疑,Cmd命令與PowerShell命令之間的調(diào)用有兩個方向。即在Cmd命令中調(diào)用PowerShell的命令,以及在PowerShell腳本中調(diào)用Cmd命令。需要說明的是,這里的調(diào)用分兩個層次:一、簡單的在其中一個的環(huán)境中執(zhí)行另外一個命令,完成部分工作;二、在其中一個的執(zhí)行上下文中調(diào)用另一個的命令,并根據(jù)返回結(jié)果來選擇后面的邏輯。

   單獨(dú)使用一種腳本來完成一項(xiàng)任務(wù)是理想的狀態(tài),而現(xiàn)實(shí)的情況往往是,因?yàn)闅v史原因、或者團(tuán)隊(duì)組成,你不得不將多種腳本或者程序組合在一起,來完成某項(xiàng)任務(wù)。本文的討論范圍是Cmd命令與PowerShell命令之間的組合與調(diào)用。

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

  在Cmd命令中調(diào)用PowerShell命令

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

  powershell echo "Hello"

  執(zhí)行上述命令的時候,Cmd是把PowerShell當(dāng)成一個應(yīng)用程序來執(zhí)行的。

  在Cmd命令中調(diào)用PowerShell的命令并獲得返回值的可行方法并不多。這是因?yàn)椋珻md命令對于結(jié)果的處理往往需要借助于文件讀寫,很少有機(jī)會在各個命令之間傳遞數(shù)據(jù),并保存中間結(jié)果的。For命令是其中***的一個方法,它的指向方法如下:

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

  以上命令的執(zhí)行結(jié)果是%a%被賦值為Hello。當(dāng)然,如果只是簡單賦值,就沒有必要這樣大費(fèi)周折。調(diào)用PowerShell的命令,肯定是看中了它強(qiáng)大的編程能力,比如自定義的排序等等。

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

在PowerShell命令中調(diào)用Cmd命令

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

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

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

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

  結(jié)語

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

【編輯推薦】

 

  1. PowerShell命令輸出的控制方法
  2. PowerShell入門(一):PowerShell能干什么?
  3. PowerShell入門(二):PowerShell與Cmd命令行
  4. PowerShell入門(三):如何快速地掌握PowerShell?
  5. PowerShell入門(四):高效地使用交互式運(yùn)行環(huán)境

 

【責(zé)任編輯:黃丹 TEL:(010)68476606】

責(zé)任編輯:黃丹 來源: 博客園
相關(guān)推薦

2013-02-18 08:34:45

powershell

2023-05-12 07:08:09

PowerShellWindows操作系統(tǒng)

2010-10-25 15:45:00

PowerShell命

2013-02-18 08:31:30

powershell

2011-01-05 10:30:42

活動目錄Powershell

2010-11-04 14:01:59

PowerShell

2012-09-20 10:08:17

PowerShell

2013-02-18 08:15:35

powershell

2013-02-28 11:25:05

PowerShell入

2013-02-18 08:36:51

powershell

2009-07-03 08:38:44

微軟Windows 7PowerShell

2010-05-21 18:30:02

2013-09-10 10:34:49

PowerShell

2013-08-27 15:03:18

PowerShell

2013-02-28 11:18:23

PowerShell入遠(yuǎn)程操作

2022-11-01 16:19:47

Powershell開源命令

2013-02-18 08:39:15

powershell

2013-05-07 10:06:23

PowerShell 虛擬化命令

2013-05-07 10:03:47

PowerShell

2023-09-21 07:06:17

PSDriveProvider
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 精品精品 | 成人午夜免费视频 | 99精品一区二区 | 精品视频国产 | 男人天堂网av | 福利一区视频 | 久久国产精品免费一区二区三区 | 日韩免费 | 久久精品美女 | 国产亚洲一区精品 | 黑人成人网 | 国产三级一区二区三区 | 久久久一区二区 | 日韩在线观看网站 | 欧美精品一区三区 | 一级少妇女片 | 久久国产精彩视频 | 欧美性猛片aaaaaaa做受 | 国产精品久久久久久久久久久新郎 | 一区二区三区四区在线 | 国产二区av | 91视频网| 日本三级黄视频 | 亚洲精品久久久一区二区三区 | 久久91 | 天天搞天天操 | 亚洲高清一区二区三区 | 99久久久无码国产精品 | 91久久国产综合久久 | 精品国产一区三区 | 久久久久综合 | 一区二区三区在线免费观看 | 亚洲永久 | 欧美日韩国产一区二区三区 | 日韩国产欧美视频 | 久草网站| 亚洲电影第三页 | 狠狠做深爱婷婷综合一区 | 亚洲视频在线观看 | 自拍视频一区二区三区 | 亚洲一区二区三区视频 |