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脚本文件的执行情况结果如下:
新闻热点
疑难解答