[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 PowerShell 于 2013-11-2 11:24 编辑

$ 打头的都是变量,这个跟php语言类似。这里面我说说powershell语法怎么个好法。
$ 是统一,标准的,也是唯一的。
比如$aaa ,这个变量不管定义,还是引用,都要用$ ,比python更容易看懂。比python的【无变量打头符号】定义变量好。powershell这种做法,更容易区分内置关键字,和变量!
    -------我个人认为这比bat的%aaa%  !bbb! 好,有时候我觉得bat的变量真tm乱。

而powershell变量的定义要求,也要比python好:

1比如可以定义任意unicode变量,如 $三顾茅庐 = 3  。总之  .net的unicode支持比python好。
2可以定义数字变量,如 $123 = "a"     ; echo   ($123 + "b")   输出结果为ab
3powershell定义的变量可以数字打头,这python不行。
4重要!你一定要记住:每个变量都是对象,这和vbs,python,相同。
而每种对象,都自带有属性,方法。这就是面向对象开发之妙也~~~
比如$aaa = "abcd"
那么$aaa.toupper()
将返回ABCD



标准,直观,简单,-------我认为【从变量定义的角度】,学powershell比bat更容易菜鸟理解,学习的也快。



-------------------------------------------------------
另外楼主贴的代码是非常规范的代码,规范到国际版了。还有注释,甚至说所有powershell脚本都应该这么写。
1 这是一个函数定义。
2 2-----28行。前面的大段注释都是 默认的,每个参数都是干嘛的,谁写的脚本,如何用等。
<# powershell大段注释语法 #>
# powershell单行注释语法

3 29行-----58行是参数约束
4 59行----137行为函数主体。
4.1 函数的正宗写法是由3部分组成: (详见镇派葵花宝典,即手册中的说明)
Begin { 一般这里初始化变量 }
Process {  一般具体计算 }
end {  一般这里处理输出,或者扫尾工作 }
4.2 函数可以简化,不要上述3个部分。只要一个大括号包起来。如下例:
aaa,aaa2函数,作用完全相同。
----------------------
  1. function  aaa {
  2. begin {}
  3. process {echo  "你好"}
  4. end {}
  5. }
复制代码
---------------
  1. function  aaa2 {
  2. echo  "你好"
  3. }
复制代码
---------------
脚本是写给人看的,是写给用户看的,而不是写给机子看的
用户能看懂、会修改的脚本,才是好脚本。
写易懂的powershell脚本帮人解决问题,进而让用户学会自渔,吾所愿也

TOP

1 powershell很多的类方法都不熟悉啊---------我个人不认为初学者应该学。net类,即使学,也学string类,file类,几个浅显的类足矣,等到学powershell一年以上,再学。net类不迟。初学者应该把精力着重于学习语法,和最新的命令,如powershell4.0带的命令。和第三方库,脚本上。这些命令和库能满足绝大多数初学者的需求。如果有此初学者学过vbs,那么学。net类对他来说就简单多了。可以认为。net类是100多个vbs类的扩展。它们用起来类似。

2 参数怎么传进去。-----貌似只有bat bash 无函数,也难传值,其他大多语言都是 [函数 参数1 参数2 ]这样的传。
函数用法 和powershell的内部命令差不多。

3 最多支持几个参数进去 ---这个我还真不知道.或许是255 ? 我只知道传的数据多了,数据类型又是相同的,可以用数组的方式传,这样就只有1个参数,参数数量只限于数组(列表)大小.不过一般函数都不会超过20个不同的参数.

4 发现下面参数里的 -URL 有和没有一样 ---对.
5 如果要传多个参数怎么调用呢 ?  传进去处理流程怎样? ---暂且不答
6 如每次调用 要变换PROXY的话怎么办  ---编写函数时加个proxy参数即可.

2 3 4 5 6 我都没详细回答,因为你是牛人,不是菜鸟啊,你需要置顶帖中的葵花宝典,即官方手册了,
手册分两部分,第一部分为about xxx 讲的是语法.你看语法中about_Functions ,about_Functions_Advanced
等即可.第二部分为库,讲的是每个命令用法.

最后我再凿吧两句:
powershell语法标准学的快,命令=库 强大功能强。故,学一年powershell练出的技能顶学bat,bash五年.
bat bash 都是破铜烂铁,awk sed 都是虾兵蟹将.powershell语言眼中只有python堪称敌手.
脚本是写给人看的,是写给用户看的,而不是写给机子看的
用户能看懂、会修改的脚本,才是好脚本。
写易懂的powershell脚本帮人解决问题,进而让用户学会自渔,吾所愿也

TOP

返回列表