随笔分类 -  脚本语言(Script Languages)

摘要:在Windows环境下安装了python后,为了方便运行.py文件,可以设置环境变量如下: 环境变量位置添加值添加后效果系统变量中的PATHpython.exe所在目录,比如D:\Python27可以通过python *.py运行python脚本系统变量中的PATHEXT.PY;.PYM可以直接通过 *.py运行python脚本 阅读全文
posted @ 2013-10-25 17:56 ITGirl笑笑 阅读(639) 评论(0) 推荐(0) 编辑
摘要:Windows脚本宿主(Windows Script Host, WSH)是一个Windows管理工具。WSH创建了一个脚本运行的主环境,WSH使脚本能够使用对象和服务,并提供脚本执行的准则。WSH还负责安全管理以及调用适当的脚本引擎。使用Windows脚本宿主运行脚本WSH提供了两个用于执行脚本的接口,这两个接口各使用不同的宿主程序作为VBScript引擎:cscript.exe:用于在命令行中运行脚本,wscript.exe:用于在Windows环境中运行脚本,直接与Windows GUI进行交互。这两者就功能来讲几乎没有区别。Windows脚本宿主的内建对象1.WScript对象:WSH 阅读全文
posted @ 2013-07-15 14:30 ITGirl笑笑 阅读(2337) 评论(0) 推荐(0) 编辑
摘要:RegExp对象是VBScript中用于提供简单地正则表达式支持的对象。VBScript中所有和正则表达式有关的属性和方法都有这个对象有关联。一、RegExp对象的属性和方法(三个属性,三个方法)属性:1. Global属性: True or False, 指明模式是匹配整个字符串中所有与之相符的地方还是只匹配第一次出现的地方。默认值是False(表示只匹配第一次出现的地方)。2. IgnoreCase属性: True or False, 指明模式匹配是否大小写敏感。默认是False(表示搜索为大小写敏感)。3. Pattern属性:设置或返回用于搜索的正则表达式。方法:1. Execute方 阅读全文
posted @ 2013-07-05 14:35 ITGirl笑笑 阅读(12600) 评论(0) 推荐(1) 编辑
摘要:案例:我有一个文件夹,里面有很多子文件夹,每个子文件夹中都存在一个相同名字的XML文件,XML文件里面的标签结构相同,只是内容不同,XML文件中包含ID,Name等标签。文件夹及文件结构如下图:要求:遍历每一个XML文件,然后实现以下两个功能:1)输出所有XML文件中的ID,Name,以及XML文件的路径;2)用户可以提供某一个ID,根据该ID输出与改ID匹配的XML文件的ID,Name,以及XML文件的路径。实现(VBScript):代码逻辑:定义了两个用户输入框,第一个输入框要求用户输入根文件夹路径,第二个输入框要求用户输入ID。1)如果用户只提供了根文件夹路径,用户ID未输入,则输出所有 阅读全文
posted @ 2013-06-25 11:46 ITGirl笑笑 阅读(1860) 评论(0) 推荐(0) 编辑
摘要:传值(by value)参数传值参数用ByVal关键字说明。ByVal为默认值,不加任何关键字仍表示传值参数。通过传值,过程中的代码可以修改这个参数,但修改是临时的。传址(by reference)参数传址参数用ByRef关键字说明。通过传址,过程中的代码对这个参数的修改是永久的。看下面的例子很好的说明了传值与传址的区别:Dim lngADim lngBlngA = 1lngB = 1ByRefByValExample lngA,lngBMsgBox "lngA = " & lngA & vbNewLine & "lngB = " 阅读全文
posted @ 2013-06-14 17:10 ITGirl笑笑 阅读(779) 评论(0) 推荐(0) 编辑
摘要:普通子类型变量:如果普通子类型变量未被初始化,它的值为Empty。'将变量变成未初始化varTest = Empty'Chenk检查变量是否为空,方法一If varTest = Empty Then MsgBox "The variable is Empty."End If'Chenk检查变量是否为空,方法二If IsEmpty(varTest) Then MsgBox "The variable is Empty."End If对象(Object)子类型变量:如果对象变量中的对象被销毁或是该变量还没有初始化时,它就等于一个子类型 阅读全文
posted @ 2013-06-13 14:41 ITGirl笑笑 阅读(1504) 评论(0) 推荐(0) 编辑
摘要:作为弱类型语言(loosely typed language),Variant是VBScript中唯一的数据类型,我们通过Variant的“子类型”来管理变量。记录一下两个比较特殊的子类型:Empty和Null。与其他子类型的区别当变量的子类型为Empty或Null时,它的值也就是名为Empty或Null的特殊值,这跟其他的子类型有些不同,其他的子类型只是说明变量中值得类型,而不是值本身。Empty子类型1. Empty等价于“未初始化”,当一个Variant变量被声明后,在往其中放入任何值之前,它就是空的,其子类型是Empty。 1: Dim varTest 2: MsgBox ... 阅读全文
posted @ 2013-06-08 18:05 ITGirl笑笑 阅读(1626) 评论(0) 推荐(1) 编辑
摘要:获取文件或文件夹访问权限:Get-Acl -Path | Format-List修改文件访问权限:修改文件访问权限需要用到Set-Acl命令,使用-Path参数指定要修改的文件路径,使用-AclObject参数指定一个对象,该对象相当于一个ACL模板,此ACL模板指定了用户访问资源的权限设定。该对象的设定需要调用"System.Security.AccessControl.FileSystemAccessRule"类。 1: $account = "test01win2k8r2\test" 2: $FileSystemRights = "Ful 阅读全文
posted @ 2013-04-27 14:19 ITGirl笑笑 阅读(8684) 评论(0) 推荐(0) 编辑
摘要:一、强制转换数组使用普通方法创建一维数组:$Varname=Element1,Element2,Element3,…使用数组强制转换结构创建数组:$Varname=@(Element1,Element2,Element3...)强制转换数组语法的优势就是如果使用分号代替逗号分隔值,PowerShell将每个值看作命令文本,PowerShell会执行它并且存储结果。例如:$myarray=@(5;"This";get-process)$myarray[2]但是如果使用以下方法来定义上述数组则会出错:$myarray=@(5,"This",get-proce 阅读全文
posted @ 2012-09-03 10:19 ITGirl笑笑 阅读(1066) 评论(0) 推荐(0) 编辑
摘要:一、连接字符串使用"+"连接字符串:将字符串连接在一起,字符串之间没有分隔符。$string1="abc"$string2="def"$string3=$string1+$string2$string3"-Join"连接字符串:语法:-Join (String1,String2,String3...) 不使用分隔符连接字符串String1,String2,String3… -Join "Delimiter" 使用分隔符连接字符串例1:$a=-Join("abc"," 阅读全文
posted @ 2012-08-29 11:14 ITGirl笑笑 阅读(28673) 评论(0) 推荐(0) 编辑
摘要:当输入字符串表达式时,可以使用单引号('')或双引号("")括住字符串,但PowerShell解析单引号和双引号中字符串的方式是不同的。一、单引号括住的字符串,字符串被精确地传递到命令,字符串中包含的任何表达式都不会被计算,只会被解释成文本。例如:$varA=200Write-host 'The value of $varA is $varA.'输出为:The value of $varA is $varA.变量$varA不会被相应的值替换。二、双引号括住的字符串,在字符串传递到命令执行前,变量名会被变量值替代,表达式也会被计算。例如:例1: 阅读全文
posted @ 2012-08-28 10:47 ITGirl笑笑 阅读(2062) 评论(0) 推荐(0) 编辑
摘要:Windows PowerShell的比较运算符包括:-eq, -ne, -lt, -gt, -le, -ge, -contains, -notcontains, -like, -notlike, -match, -notmatch, -replace大部分的比较运算符返回一个布尔值,比如:$a=5; $b=6$a -eq $b返回值为布尔值False但是在操作数组和集合时,-eq, -ne, -lt, -gt, -le, -ge, -like, -notlike运算符则返回与提供表达式相匹配的值,如:$a="one","two","two&q 阅读全文
posted @ 2012-08-16 14:36 ITGirl笑笑 阅读(699) 评论(0) 推荐(0) 编辑
摘要:1. PowerShell管理单元(Snap-in): Windows PowerShell管理单元是被编译成DLL文件的.NET程序,包括提供程序、cmdlet和函数。Windows PowerShell包含一些内置的管理单元,同时我们也可以自己手动添加自己写的管理单元。Windows PowerShell V2内置管理单元包括:Microsoft.PowerShell.Core, Microsoft.PowerShell.Host, Microsoft.PowerShell.Management, Microsoft.PowerShell.Security, Microsoft.Power 阅读全文
posted @ 2012-08-14 11:36 ITGirl笑笑 阅读(1434) 评论(0) 推荐(0) 编辑
摘要:1. Out-File:发送输出到一个文件。语法规则:Out-File [-FilePath] <string> [[-Encoding] <string>] [-Append] [-Force] [-InputObject <psobject>] [-NoClobber] [-Width <int>] [-Confirm] [-WhatIf] [<CommonParameters>]使用时必须指定输出文件的路径。如果输出文件存在,可以使用-Append参数来追加输出到这个文件。-Encoding参数指定字符编码类型,有效值包含&qu 阅读全文
posted @ 2012-08-09 14:36 ITGirl笑笑 阅读(815) 评论(0) 推荐(0) 编辑
摘要:1. Write-Host:写标准输出流到承载PowerShell的应用程序。通过参数可以为文本设置背景色,前景色,是否换行以及设置对象间的分隔字符串等(见下面的规则)。承载PowerShell的应用程序可以是PowerShell控制台(powershell.exe),PowerShell ISE(powershell_ise.exe)或其他应用程序。规则:Write-Host [[-Object] <Object>] [-BackgroundColor <color>] [-ForegroundColor <color>] [-NoNewline] [-S 阅读全文
posted @ 2012-08-07 11:29 ITGirl笑笑 阅读(1597) 评论(0) 推荐(0) 编辑
摘要:使用Format命令格式化powershell输出,常用的命令如下: Format-Wide:每个对象仅有一个属性值被显示。默认情况下输出默认属性,也可以通过指定-Property参数来输出其他属性 例如: Get-Process -Name powershell|Format-Wide Get-Process -Name powershell| Format-wide -Pro... 阅读全文
posted @ 2012-08-06 11:24 ITGirl笑笑 阅读(7387) 评论(0) 推荐(0) 编辑
摘要:很多时候,我们需要在其他工具中启动PowerShell来执行PowerShell命令,比如Cmd.exe或批处理文件。下面就来介绍下启动PowerShell的基本语法。 调用Windows PowerShell控制台基本语法: PowerShell[.exe] [-PSConsoleFile <file> | -Version <version>] [-EncodedCommand ... 阅读全文
posted @ 2012-08-02 15:10 ITGirl笑笑 阅读(1138) 评论(0) 推荐(0) 编辑
摘要:在PowerShell2.0中允许使用try…catch语句来进行异常处理,那么它与Trap有什么不同呢?下面简要列出: Trap: Designed for admins V1 and V2 Introduces a new scope Is “global”, meaning it applies to all c... 阅读全文
posted @ 2011-12-07 13:52 ITGirl笑笑 阅读(421) 评论(0) 推荐(0) 编辑
摘要:1. 简单循环语句whilewhile(<condition>){<action block>}do{<action block>}while(<condition>)2. for循环for(<initializer>;<exit condition>;<step action>){<action>}初始化和步进值为可选3. 遍历集合的循环语句 for each Loopforeach($item in $collection){<action>}4. 强制退出循环使用break语句;反 阅读全文
posted @ 2011-08-04 15:35 ITGirl笑笑 阅读(1175) 评论(0) 推荐(0) 编辑
摘要:PowerShell的管道不同于传统的基于文本的管道,而是基于对象的管道。 PowerShell中有类流水线操作,它要求任何命令cmdlet以一个满足要求且标准接口的.NET对象出现。建立在.NET之上的特性允许Shell传递.NET对象,而不是文本。这样不再需要生成文本,不必从其他程序中传递文本。管道不再是文本流,而是各种对象的集合,这些对象可以很容易地向外界展现其包含的任何属性、方法等信息。 ... 阅读全文
posted @ 2011-07-28 17:17 ITGirl笑笑 阅读(1088) 评论(0) 推荐(0) 编辑