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"

}

最新文章

  1. PHP 爬虫
  2. java基础2.0:Object、Class、克隆、异常编程
  3. 解决Spring+Quartz无法自动注入bean问题
  4. sqlite3 SQL常用语句
  5. [ActionScript 3.0] AS3 时间日期格式化DateTimeFormatter类的运用
  6. BZOJ 2424: [HAOI2010]订货 费用流
  7. OGNL学习-静态方法调用
  8. Java之工厂模式
  9. 在js中如何得到上传文件的大小。
  10. C语言学习之选择排序
  11. 理解JavaScript中函数方法
  12. SQLServer 导入大脚本文件
  13. SharePoint 2010 查看dll的PublicKeyToken值方法
  14. [swarthmore cs75] Compiler 6 – Garbage Snake
  15. linux下编译upx ucl
  16. 为什么分布式一定要有redis?
  17. laravel Blade 模板引擎
  18. ROS 时间同步问题
  19. 基于接口回调详解JUC中Callable和FutureTask实现原理
  20. RedHot 不能联网 ifconfig命令只显示lo 不显示eth0的解决方法!

热门文章

  1. Linux速通02 命令格式
  2. 翻译:《实用的Python编程》04_03_Special_methods
  3. 一文吃透zabbix4.0的编译安装,最全最详细的安装。
  4. Shell:如何写一个多选菜单的脚本
  5. AbstractQueuedSynchronizer之AQS
  6. unittest系列(一)unittest简介和示例
  7. Python基础【基本数据类型】
  8. 2019 GDUT Rating Contest III : Problem D. Lemonade Line
  9. Java 语言基础 (初识Java语言, 变量和数据类型, 运算符, 流程控制语句, 数组)
  10. OpenCV图像处理中“找圆技术”的使用