powershell概述
Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NETFramework的强大功能。它引入了许多非常有用的新概念,从而进一步扩展了在 Windows 命令提示符和 Windows Script Host 环境中获得的知识和创建的脚本。
powershell是一个shell,定义好了一些命令操作系统,特别是与文件系统交互,能够启动应用程序,甚至操纵应用程序。PowerShell还能允许将几个命令组合起来放到文件里执行,实现文件级的重用,PowerShell 能够充分利用copy.Net类型和 COM 对象,来简单地与各种系统交互,完成各种复杂的、自动化的操作。
打开方式:
- 附件找到powershell
- Win + R–>输入powershell
PowerShell-ISE
Windows PowerShell 集成脚本环境 (ISE) 是 Windows PowerShell 的主机应用程序。在 WindowsPowerShell ISE 中,可以在单一 Windows 图形用户界面中运行命令以及编写、测试和调试脚本,该用户界面具有多行编辑、Tab 补齐、语法着色、选择性执行、上下文相关帮助等功能,而且还支持从右到左书写语言。此主机应用程序最多还可以包括八个会话。可以自定Windows PowerShell ISE 的外观。Windows PowerShell ISE 还有自己的 Windows PowerShell 配置文件,您可以在其中存储在Windows PowerShell ISE 中使用的函数、别名、变量和命令。
- Win + R -->输入powershell ISE
输入与输出
powershell 对大小写不敏感
输入
read-host("请输入XX")
输出
ehco / echo()
write-output / write-output()
write-error / write-error()
弱类型和强类型
弱类型:数据类型根据值的类型定义
强类型:强行规定数据类型,值的类型必须符合数据类型
变量
可以改变的量
变量使用:$变量名
赋值格式:$变量名 = 值
环境变量
$env:变量名
赋值格式: $env:Demo_HOME = “D:\Maven”
ls variable: -->查看环境变量
需要写入环境变量时
- 写入系统环境变量: [System.Environment]::SetEnvironmentVariable(“name”,“value”,“machine”)
- 写入用户环境变量:
[environment]::SetEnvironmentVariable(“name”,“value”,“User”)
运算符
++ 自增运算
-- 自减运算
常量
不能改变的量
常量的申明中不需要加 $ ,但在使用时需要加上。
- Set-Variable -name 常量名 -Value 常量值 -Option Constant
常量,存储在栈里 - Set-Variable -name 常量名 -Value 常量值 -Option readonly
只读变量,存储在方法区里
数组
一个容器、一个相同数据类型的容器
$数组名=元素1,元素2,元素3
$数组名[下标]
-1 < 下标 <=下 数组长度-1
$array_name=value1,value2,value3 #定义数组,用 逗号 隔开
$array_name=value0..valueN #连续数字用 ..
$array_name=@() #定义 空数组
字符串
所有用双引号引上的就是字符串
任意字符串 + 任意数据类型 --> 结果为字符串
任意数据类型 + 任意字符串 --> 结果为前面的数据类型,(a + s )结果为a的数据类型
-eq
[String]::IsNullOrEmpty(str)
常用方法与属性
属性
Length #用于获取字符串长度
方法
Contains(str) --- 验证是否 包含 关系,大小写敏感
Equals(str) --- 判断两个字符串是否 相等
EndsWith(str) --- 判断此字符串是否是以指定字符串 结束
StartsWith(str) --- 判断此字符串是否是以指定字符串 开始
Split() --- 字符串 拆分,以空格 拆分; 或以指定子串 拆分
SubString(start,end) --- 截取 字符串子串
ToUperInvariant() --- 当前字符串全部转 大 写 ToUper() 亦可
ToLowerInvariant() --- 当前字符串全部转 小 写 ToLower() 亦可
Insert(int,str) --- 在指定位置 插入 子串,下标从1 开始
Remove(start,length) --- 删除 从指定位置开始到指定长度的子串,下标从1 开始
Trim() --- 去掉字符串前后 空白格
数据类型
--数字型
--整数型
--字节型 (byte)(1字节)
--短整型 (short)(2字节)
--整型 (int)(4字节)
--长整型 (long)(8字节)
--浮点数型
--单精度浮点型 (float)
--双精度浮点型 (double)
--非数字型
--字符型(char)
--字符串型 (string)
--布尔型 (boolean)
int型只能是数字,如果是被双引号引用的数字会自动转型为int
当字符串中只有一个字符的时候,可以转型为字符。往char存放数字默认为ASCLL值。但字符不会默认转成Ascll码
练习
- 计算 $i++ + $i++ + ++i + $i++ + $i 的值,说明原因