国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PowerShell > 正文

PowerShell入門教程之PowerShell有什么用?

2020-10-29 21:01:17
字體:
來源:轉載
供稿:網友

PowerShell能干什么呢?就像序言中提到的那樣,PowerShell首先是個Shell,定義好了一堆命令與操作系統,特別是與文件系統交互,能夠啟動應用程序,甚至操縱應用程序;第二,PowerShell允許將幾個命令組合起來放到文件里執行,實現文件級的重用,也就是說有腳本的性質;第三,PowerShell能夠能夠充分利用.Net類型和COM對象,來簡單地與各種系統交互,完成各種復雜的、自動化的操作。

一、與文件系統交互、運行應用程序

就像在Dos中一樣,在PowerShell的交互界面上鍵入"dir"并回車,會顯示當前文件夾下的子文件夾和文件信息。

復制代碼 代碼如下:

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.tx
-a---         1/21/2013   8:32 PM     241530 cmdlets.
-a---         1/18/2013  10:18 AM        888 errors.t

像這樣的命令很多,比如echo "Hello", cd ..等等。從這里看來它就是一個命令行,實現了原來命令行的功能。但PowerShell是命令行的加強版嗎,是命令行的超集嗎?這個真不是,以后會專門說這個問題。

就像在命令行里運行應用程序一樣,可以在PowerShell的交互窗口中運行應用程序,如下:

復制代碼 代碼如下:

PS C:/Users/v-lukez> notepad
PS C:/Users/v-lukez>

如果想更好地控制應用程序,可以使用start命令,如下:
復制代碼 代碼如下:

PS C:/Users/v-lukez> start notepad -WindowStyle Maximized
PS C:/Users/v-lukez>

以上結果可以實現Notepad窗口的最大化。其實類似的命令還有很多,而且更多的參數意味著更精細地控制。

二、創建腳本

任務的自動化是以程序文件或者可執行腳本文件為基礎的,PowerShell也支持將命令列表做成腳本文件來執行。以下是Hello.ps1腳本文件的內容:

復制代碼 代碼如下:

$a = "Hello"
$a
echo $a > a.txt
dir a.txt

Hello.ps1腳本文件的執行情況結果如下:
復制代碼 代碼如下:

PS E:/> D:/Projects/Practise/PowerShell/Hello.ps1
Hello
    Directory: E:/
Mode                LastWriteTime     Length   Name                                                                     
----                -------------     ------ ----                                                                     
-a---         1/30/2013   4:56 PM         16 a.txt  

你可能發現了,PowerShell腳本文件是以.PS1為擴展名的。以上這個腳本非常簡單:先定義了一個變量,然后輸出這個變量的結果,再將這個變量的值寫入文件a.txt,最后輸出這個文件的屬性信息。僅從這一點看,PowerShell腳本很像Batch文件。但是實際上,PowerShell可以做得更多。

PowerShell腳本支持自定義函數,就像我們在編程語言中做得那樣。funcDemo.ps1給出了一個在PowerShell腳本中編寫函數的示例:

復制代碼 代碼如下:

#funcDemo.ps1
function SayHello ($name)
{
    echo "hello $name"
}
 
SayHello "Luke"

腳本的運行結果是“Hello Luke”。

此外,關于PowerShell腳本內部語句的運行順序,這里要做個簡單說明:除了函數定義,腳本中的命令或者函數調用(其實也相當于執行命令)會順序執行;函數中的語句只有在函數被調用的時候才會被執行。

三、利用.Net類型和COM對象

能夠利用.Net類型和COM對象是PowerShell的最大特點,這讓PowerShell能夠最大限度的利用現有資源,并且很容易把.Net和COM程序員招徠到自己麾下。

簡單類型:

復制代碼 代碼如下:

[int]$a = 10
[String]$b = 10

.Net類型
復制代碼 代碼如下:

$Message = new-object Net.Mail.MailMessage("me@source.com","you@destination.com", "Subject", <br>  "Here is some email")

COM對象
復制代碼 代碼如下:

$myWord = new-object -comobject Word.Application

創建了.Net或者COM的對象以后,就可以利用這些對象的屬性和方法,來完成更加復雜的操作。

作為本篇結束,用一句話總結,PowerShell吃得很少,干活很多,是Windows管理員日常必備的工具之一。走過路過,千萬不要錯過啊。。。

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南靖县| 自贡市| 松原市| 监利县| 琼结县| 阿巴嘎旗| 隆回县| 西青区| 广德县| 黔南| 仙桃市| 新源县| 额尔古纳市| 宁城县| 淮北市| 淅川县| 颍上县| 吉安市| 铁岭县| 古浪县| 荥经县| 东城区| 阆中市| 漳浦县| 彭州市| 翁牛特旗| 广宁县| 中卫市| 太谷县| 大化| 政和县| 寻乌县| 贵港市| 科尔| 岐山县| 扎囊县| 镇原县| 宁化县| 会理县| 洱源县| 新泰市|