前一阵子忙于干活,当然,这个PS也就被我冷下来了,一直没有时间看,近段日子,把程序测试交给别人去办了,我也就有了一点时间来继续PS的学习。这个BLOG记录着我的学习过程,也想我的学习能和新手分享。
一、MS认为PS比其他SHELL强大的几点:
1、其他的SHELL都是文本基础的,而PS是对象基础的。
简单的例子:
PS C:/> get-location
Path
----
C:/
其中的C:/ 并不是一文本,而是一pathinfo对象的信息的输出。
2、可扩展性
脚本编程是一种扩展,但是这个PS的扩展却很意思,因为这个PS是基于.net20平台的,有一个类似于二进制工具一样的东东进行编译从而可以扩展snap-in,而非简单的脚本工具。当然,PS也有强大的脚本功能。
3、输出格式可格式化,有个format的命令,可以格式化输出。
4、命令命名规则化,使得命令易于记忆,如果英文基础好,甚至可以猜出命令。PS的命令命名规则是“动词-名词“,如get-command/get-help等等。另外一个规则化的就是命令参数,使用容易记忆的命名,如get-command -commandtype alias,commandtype这个参数比较直观,容易记忆,如果忘了甚至可以猜出。
5、为了初用避免所谓的“finger memory“带来的错误,内部就集成了一些别名,UNIX的也有,看来MS还是很有心啊,要把UNIX的用户拉过来用PS。当然PS也支持创建alias,如:
set-alias -name sa -value set-alias.
不过别得意,由于可有的简化太少了,别重复了。我不喜欢创建别名,因为我的记忆能力不那么强,多输入点字符,没关系,咱有的是时间。
6、使用tab键自动完成,很OK的LINUX SHELL的功能,MS学回来了,不过MS说了,如果复制过来的命令集中包含有TAB键的话,那么在粘贴完成后,你可能不认识该命令了。
7、对象管道。在管道符之间传递的是对象,而不是文本。
8、C#风格,看来MS还真是看重C#,要抢夺JAVA阵营的追随者。
9、脚本功能的强大,不仅有PS cmdlets(我才不管这么多,我以后一并称为命令,分来分去,分得我都有点糊涂了),还有cmd command,同样还有WSH中的东东。
10、应该知道的命令:
get-help -detailed 任何时间都要看看
get-command -commandtype/ *-service 可以看到有多少命令
get-member 查看对象结构
同样支持通配符 *