前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Powershell语法入门总结

Powershell语法入门总结

作者头像
网络安全自修室
发布2021-11-25 14:26:09
4K0
发布2021-11-25 14:26:09
举报

Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能。可以简单的理解 Powershell为Window下更加高级的cmd,这里是总结了一些基础的powershell入门使用语法,Powershell的运用还很多,需要深入研究进阶用法。

认识PowerShell

$psversiontable查看版本

PowerShell强大之处

  1. 快捷方便
  2. 面向对象
  3. 支持兼容.net vbs等
  4. 可拓展性

PowerShell快捷键

代码语言:javascript
复制
alt+f7 清除命令的历史纪录
esc 清空当前命令行

PowerShell执行外部命令

&"notepad"

PowerShell命令集

动名词来命名命令

  • cmd 命令在powershell中可以直接使用

get-command # 获取所有命令列表

  • 帮助命令走天下

get-help

PowerShell别名使用

get-alias -name ls # 查询ls的原始命令

PowerShell自定义别名

set-alias -name pad -value notepad # 设置临时别名,将notepad赋给pad别名 del alias:pad # 删除别名 export-alias 1.psl # 导出别名 import-alias -force 1.psl # 强制导入别名

PowerShell变量基础

  • 等于号赋值

$name="xx"

  • 特殊变量名称用花括号包围

${"asdsad asdsd" var ()}

PowerShell变量操作

  • 支持多变量赋值
name,

name2=1,2

  • 查看正在使用的变量

Get-Variable num* # 查找num特定变量值

  • 确定变量是否存在

test-path variable:num1 # 返回的是布尔值

  • 删除变量名

Remove-Variable num1

PowerShell自动化变量

常用的变量

  • $pid
  • $home

PowerShell环境变量

ls env: # 查看当前环境变量

$env:os # 输出某个键的值

$env:0s="Linux" # 临时赋值变量

  • 设置永久环境变量(.net方式)

[environment]::setenvironmentvariable("PATH","D:","User")

PowerShell脚本执行策略

get-executionpolicy # 查看当前运行策略

代码语言:javascript
复制
策略分类
> get-help set-executionpolicy

语法
    Set-ExecutionPolicy [-ExecutionPolicy] {Unrestricted | RemoteSigned | AllSigned | Restricted | Default | Bypass | U
    ndefined} [[-Scope] {Process | CurrentUser | LocalMachine | UserPolicy | MachinePolicy}] [-Confirm] [-Force] [-What
    If] [<CommonParameters>]

set-executionpolicy RemoteSigned # 设置可以运行的策略

PowerShell与其他脚本程序的互相调用

  1. powershell直接可以执行bat、vbs、psl文件
  2. bat调用powershell 需要使用 powershell &"文件路径"

PowerShell条件操作符

  • -eq #等于
  • -lt #小于
  • -gt #大于
  • -contains #不包含

1,3,5 -contains 3

  • -notcontains
  • -not
  • -and
  • -or
  • -ne #不等于

1,3,5 -ne 3

PowerShell条件判断【if语句】

if(

num -gt 100){"1"} elseif(

num -eq 100){"0"} else {"-1"}

PowerShell条件判断【switch语句】

代码语言:javascript
复制
$number = 49
switch($number)
{
    {$_ -le 50} {"此数值小于50"}
    {$_ -eq 50} {"此数值等于50"}
    {$_ -gt 50} {"此数值大于50"}
}
\\ $_代表变量

PowerShell循环结构【foreach语句】

代码语言:javascript
复制
$arr = 1,2,3,4,5 或者 $arr=1..10
foreach ($n in $arr)
{
    if($n -gt 5)
        {
            $n
        }
}

PowerShell循环结构【while语句】

代码语言:javascript
复制
$num = 15
while($num -gt 15)
{
    $num
    $num=$num-1
}
  • dowhile 至少运行一次
代码语言:javascript
复制
do
{
    $num
    $num=$num-1
}
while($num -gt 15)

break和continue关键字使用

break跳出

代码语言:javascript
复制
$num=1
while($num -lt 6)
{
    if($num -gt 4)
    {
        break
    }
    else
    {
        $num
        $num++
    }
}

continue跳过

代码语言:javascript
复制
$num=1
while($num -lt 6)
{
    if($num -gt 4)
    {
        break
    }
    else
    {
        $num
        $num++
    }
}

PowerShell循环结构【for语句】

代码语言:javascript
复制
$sum=0
for($i=1;$i -;e 100;$i++)
{
    $sum=$sum+$i
}
$sum
\\ 计算前100个数字的和

PowerShell循环结构【switch循环】

代码语言:javascript
复制
$num=1..10
swith($num)
{
    {($_ % 2) -eq 0} {"$_ 是偶数"}
    {($_ % 2) -ne 0} {"$_ 是奇数"}
}

PowerShell数组的创建

代码语言:javascript
复制
$arr = ipconfig
$arr
$arr -is [array]
\\ 判断是否是数组

arr=ipconfig #cmd命令也可以执行

arr=@() #创建空数组 $arr=1..10,"string",(get-date)#创建混合数组

PowerShell访问数组

$arr[0..2]

PowerShell自定义函数及调用

代码语言:javascript
复制
function myping($url)
{
    ping $url
}
myping www.baidu.com

PowerShell函数返回值

return

PowerShell定义文本

`转义

PowerShell实现用户交互

代码语言:javascript
复制
$input=read-host "请输入具体的路径"
"您当前的路径是:$input"

PowerShell格式化字符串

代码语言:javascript
复制
"my name is {0} ,iam {1} years old" -f $name,$age
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-09-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 网络安全自修室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 认识PowerShell
  • PowerShell强大之处
  • PowerShell快捷键
  • PowerShell执行外部命令
  • PowerShell命令集
  • PowerShell别名使用
  • PowerShell自定义别名
  • PowerShell变量基础
  • PowerShell变量操作
  • PowerShell自动化变量
  • PowerShell环境变量
  • PowerShell脚本执行策略
  • PowerShell与其他脚本程序的互相调用
  • PowerShell条件操作符
  • PowerShell条件判断【if语句】
  • PowerShell条件判断【switch语句】
  • PowerShell循环结构【foreach语句】
  • PowerShell循环结构【while语句】
  • break和continue关键字使用
  • PowerShell循环结构【for语句】
  • PowerShell循环结构【switch循环】
  • PowerShell数组的创建
  • PowerShell访问数组
  • PowerShell自定义函数及调用
  • PowerShell函数返回值
  • PowerShell定义文本
  • PowerShell实现用户交互
  • PowerShell格式化字符串
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档