PowerShell基础知识
1、powershell概念
powershell是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能。
powershell可以大量简化人工操作,例如:安装某些应用前需要检查环境变量,安装完成后需要设置环境变量,检查和优化你的 注册表,这样的人工操作可以全部交给powershell来完成,并且powershell可以进行交互式编程。
2、powershell-ISE
交互式编程往往只是用于进行较为简单的逻辑处理或命令处理,如果需要进行大量的逻辑时,则需要用到对脚本的编译工 具,微软为powershell提供了一款非常好用的集成环境ISE。
3、powershell输出与输入
输出:write-output($a) or write-output “$a”
错误信息输出:write-error()
输出:echo
输入:Read-Host \” \”
4、弱类型和强类型
Powershell可以看作是弱类型语言,所谓弱类型语言,是指不用区分数据类型,不用对数据类型进行转型,数据类型根据赋予它的值确定。而强类型语言,是限制变量的数据类型和长度,可以将弱类型转变为强类型,申明强类型的方法是在变量前加上[数据类型],数据类型包括:[int]有符号整数;[char]单字符;[string]字符串;[byte]无符号整数;[short]有符号短整数;[long]有符号长整数;[float]单精度浮点数;[double]双精度浮点数;[object]对象类型。
5、常量和变量
可变的量称为变量,是计算机语言中能存储计算结果或能表示值抽象概念。变量赋值公式:$变量名 = 值。
可通过ls variable: 来查看系统变量名
不可改变的量称为常量,利用Set-Variable来申明常量,-name参数用于申明常量名,-value参数用于申明常数值,-option constant表示申明当前量为一个常量,常量的申明中常量名不需要加\”$\”,但使用时需要加上“$”符号。
-option readonly 申明为只读变量
6、环境变量
一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹和系统文件夹位置等。
写入环境变量,可以使用:
写入系统环境:[System.Environment]::SetEnvironmentVariable(\”testPath\”,\”d:/test\”,\”machine\”)
写入用户环境:[environment]::SetEnvironmentvariable(\”Path\”,\”;c:\\powershellscrip\”,\”User\”)
7、运算符
运算符 | 说明 |
---|---|
+ | 加运算 |
– | 减运算 |
* | 乘运算 |
/ | 除运算 |
% |
求模运算 |
+= | 相加并赋值 |
-= | 相减并赋值 |
++ | 自增运算 |
— | 自减运算 |
8、数组
有序的元素数列,是一个容器。申明数组的几种形式:
$array = 0,1,2 用逗号隔开
$array = 0..9 用..表示连续数
$array = @() 表示空数组
数组中取出元素用 $array[0],0表示第一个元素,2表示第二个元素,以此类推
9、字符串
命令:
操作符 | 描述 |
---|---|
* | 代表一个字符串 |
+ | 合并两个字符串 |
-replace | 替换字符串,大小写不敏感 |
-creplace | 替换字符串,大小写敏感 |
-eq,-ieq | 验证是否相等,大小写不敏感 |
-like | 验证字符串包含关系,大小写不敏感 |
-clike | 验证字符串包含关系,大小写敏感 |
-notlike | 验证字符串不包含关系,大小写不敏感 |
-cnotlike | 验证字符串不包含关系,大小写敏感 |
方法:
操作符 | 描述 |
---|---|
.contains() | 验证是否包含关系,大小写敏感 |
.split() | 字符串拆分,以空格分隔 |
.split(str) | 字符串拆分,以指定字串分隔 |
.CompareTo(str) | 字符串比较 |
.length | 获取字符串长度 |
.insert(int,str) | 在指定位置插入字串 |
.remove(start,length) | 删除从指定位置开始,指定长度的字串 |
.Trim() | 去掉字符串前后白空格 |
.Substring(start,length) | 截取字符串子串 |
.indexof(str) | 查找指定子串在字符串中第一次出现的位置 |
.lastindexof(str) | 查找指定子串在字符串中最后一次出现的位置 |
.startwith(str) | 判断此字符串是以指定字符串开始 |
.endwith(str) | 判断此字符串是以指定字符串结束 |
.equals() | 判断两个字符串是否相等 |