PowerShell-1.入门及其常用
PowerShell可以理解成是加强版的批处理,但是和批处理完全不同,比如可以调用API等。应用场景平时使用的用户机基本都支持了(出了XP)。
常用情节:便捷快速开发,或者是**(因为不存在自己的PE,so...)
比如我是WIn764。
运行起来大体是这个样子。
*********************************************************************
Powershell常用命令:(随便来几个)
1.Get-Command 得到Powshell所有命令
2.Get-Process 获取所有进程
3.Set-Alias 给指定命令重命名 如:Set-Alias aaa Get-Command
4.Set-ExecutionPolicy remotesigned
设置powershell可直接执行脚本文件 一般脚本文件以.ps1结尾 执行脚本文件直接输入文件地址即可执行 脚本文件中只写命令即可
5.Get-Help get-* 查询以get开头的命令 Get-Help *service* Get-Help Get-Command
获取Get-Command命令的基本用法(get-help * | out-file C:\xxx.dat 获取所有帮助并且重定向输出)
6.Get-Member 获取对象属性 如: $var | Get-Memeber 访问$var属性
直接$var.ToString()
7.Stop-Process XX 关闭某个进程
...
********************************************************************
PS中的变量定义
不需要定义或声明数据类型
在变量前加"$"
定义变量的规则
-变量可以是数字 $123
-变量可以是字符串 $abc
-变量可以是特殊字符
${@1b}
内置的变量
-$pshome
-$home
-$profile
变量赋值: $var=123 $var="aaaaaa"
取变量值: $var
变量赋值方法:Set-Variable var 100
取值方法: Get-Variable var
清空值: Clear-Variable var
删除变量 Remove-Variable var
取多个变量如var1 var2 var3地值: Get-Variable var*
另一种赋值方法 $var1="bbb" $var2="$var $var1" 结果$var2="aaaaaa bbb"
$var2='$var $var1'
结果$var2="$var $var1"
*********************************************************************
排序用法
Get-Process | Sort-Object ws 根据WS值由小到大排序
Get-Process | Sort-Object | fl Get-Process | Sort-Object | Format-List 以列表形式显示数据
*********************************************************************
导入导出文件
Get-Process > c:/aa.txt
Get-Process | Export-Clixml c:/ddd.xml 将命令执行结果导出到xml文件中
Import-Clixml c:/ddd.xml 将xml文件导出到控件台
*********************************************************************
注释使用
Get-Proccess | #这里写注释信息
sort ws
*********************************************************************
比较运算符
$var="abc"
$var -like "&b&" 返回true ../我测试是假
$var -clike "&b&" 返回true../我测试是假
*********************************************************************
函数使用
案例:在一个脚本文件中有如下代码:
$var1=10
function one{"The Variable is $var1"}
function two{$var1=20;one}
one
two
one
执行结果: The Variable is 10
The Variable is 20
The Variable is 10
此示例表明,在函数中改变变量值并不影响实际值
若需改变其值请看如下代码:
$var1=10
function one{"The Variable is $var1"}
function two{$Script:var1=20;one}
one
two
one
执行结果: The Variable is 10
The Variable is 20
The Variable is 20
freach使用
$var=1..6 #定义数组
foreach($i in $var)
{
$n++
Write-Host "$i"
}
Write-Host "there were $n record"
*********************************************************************
if使用
Get-Service | foreach{
if($_.status -eq "running"){
Write-Host $_.displayname "("$_status")" -foregroundcolor "green"
}
else
{
Write-Host $_.displayname "("$_status")" -foregroundcolor "red"
}
}
if (条件) {代码}
elseif (条件) {代码}
else (条件) {代码}
else {代码} .
? -eq 判断是否等于(equal)
? -lt 判断时候小于(less than)
? -gt 判断是否大于(greater than)
? -ge 判断是否大于或等于(greater of equal)
? -le 判断是否小于或等于(less or equal)
? -ne 判断是否不等于(no equal)
? -and 与
? -or 或
? -not 非
? ! 非
*********************************************************************
error使用
function one
{
Get-Process -ea stop
Get-ChildItem ada -ErrorAction stop #此句有误
Get-Process -ErrorAction stop
}
one
-ea 定义当错误发生以后该如何继续执行
$?可以测试命令执行成功还是失败,成功则结果为true
反之为false
单步调试
先设置Set-PSDebug -step
for($i=1;$i -le 10;$i++)
{
Sleep(1)
Write-Host "loop number $i"
}
最新文章
- PHP 爬虫
- java基础2.0:Object、Class、克隆、异常编程
- 解决Spring+Quartz无法自动注入bean问题
- sqlite3 SQL常用语句
- [ActionScript 3.0] AS3 时间日期格式化DateTimeFormatter类的运用
- BZOJ 2424: [HAOI2010]订货 费用流
- OGNL学习-静态方法调用
- Java之工厂模式
- 在js中如何得到上传文件的大小。
- C语言学习之选择排序
- 理解JavaScript中函数方法
- SQLServer 导入大脚本文件
- SharePoint 2010 查看dll的PublicKeyToken值方法
- [swarthmore cs75] Compiler 6 – Garbage Snake
- linux下编译upx ucl
- 为什么分布式一定要有redis?
- laravel Blade 模板引擎
- ROS 时间同步问题
- 基于接口回调详解JUC中Callable和FutureTask实现原理
- RedHot 不能联网 ifconfig命令只显示lo 不显示eth0的解决方法!
热门文章
- Linux速通02 命令格式
- 翻译:《实用的Python编程》04_03_Special_methods
- 一文吃透zabbix4.0的编译安装,最全最详细的安装。
- Shell:如何写一个多选菜单的脚本
- AbstractQueuedSynchronizer之AQS
- unittest系列(一)unittest简介和示例
- Python基础【基本数据类型】
- 2019 GDUT Rating Contest III : Problem D. Lemonade Line
- Java 语言基础 (初识Java语言, 变量和数据类型, 运算符, 流程控制语句, 数组)
- OpenCV图像处理中“找圆技术”的使用