Windows Powershell 定义函数

 更新时间:2014年10月24日 10:50:17   投稿:hebedich  
这篇文章主要介绍了Windows Powershell 定义函数,需要的朋友可以参考下

函数是自定义的Powershell代码,有三个原则:
简短:函数名简短,并且显而易见。
聚合:函数可以完成多个操作。
封装和扩展:将一批Powershell语句进行封装,实现全新的功能需求。

函数的结构由三部分组成:函数名,参数,函数体

复制代码 代码如下:

Function FuncName (args[])
{
      code;
}

使用函数作为别名

假如Powershell不支持”cd..” 命令,你可以通过定义函数实现这个功能:

复制代码 代码如下:

PS C:Powershell> Function cd.. { cd ..}
PS C:Powershell> cd..
PS C:>

假如Powershell不支持Ping命令,也可以如法炮制:

复制代码 代码如下:

PS C:PowerShell> Function Ping2 { PING.EXE  -n 1 $args }
PS C:PowerShell> Ping2 www.mossfly.com

正在 Ping mossfly.com [116.255.205.70] 具有 32 字节的数据:
请求超时。

116.255.205.70 的 Ping 统计信息:
    数据包: 已发送 = 1,已接收 = 0,丢失 = 1 (100% 丢失),

控制台上多行输入定义函数

复制代码 代码如下:

PS C:PowerShell> Function MyPing
>> {
>> PING.EXE  -n 1 $args
>> }
>>
PS C:PowerShell>

把函数精简成一行

你 可以将一个函数定义在一行上,但是这样阅读和理解起来就不方便,可以在每条命令后加分号进行分割。

复制代码 代码如下:

PS C:PowerShelltest> Function cd...{ cd.. ; cd.. }
PS C:PowerShelltest> cd...
PS C:>

使用文本编辑器

函数可以在文本编辑器上编写,写完以后复制进Powershell控制台即可。如果控制台设置为快速编辑模式,从记事本复制后,直接在控制台鼠标右键即可完成黏贴。

更新函数

如果要更新已经定义好的函数,简单的方法是重新定义,这样新的定义会覆盖旧的定义。但是如果函数代码没有保存副本,可以先将函数定义导出到ps文件,然后就可以编辑了。

复制代码 代码如下:

PS C:PowerShell> $function:MyPing | Out-File myPing.ps1
PS C:PowerShell> $function:MyPing

PING.EXE  -n 1 $args

PS C:PowerShell> $function:MyPing | Out-File myPing.ps1
PS C:PowerShell> .myPing.ps1
必须指定 IP 地址。
PS C:PowerShell> notepad.exe $$

删除函数

控制台定义的函数只会在当前会话生效,一旦控制台退出,会自动消失。在不关闭控制台的条件下删除一个已经定义好的函数,可是使用虚拟驱动器的方法:

复制代码 代码如下:

PS C:PowerShell> del Function:myPing
PS C:PowerShell> myPing
无法将“myPing”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的
拼写,如果包括路径,请确保路径正确,然后重试。
所在位置 行:1 字符: 7
+ myPing <<<<
    + CategoryInfo          : ObjectNotFound: (myPing:String) [], CommandNotFo
   undException
    + FullyQualifiedErrorId : CommandNotFoundException

Suggestion [3,General]: 未找到命令 myPing,但它确实存在于当前位置。Windows Pow
Shell 默认情况下不从当前位置加载命令。如果信任此命令,请改为键入 ".myPing"。有
关更多详细信息,请参阅 "get-help about_Command_Precedence"。

相关文章

  • powershell操作word详解

    powershell操作word详解

    这篇文章主要介绍了powershell操作word示例,需要的朋友可以参考下
    2014-05-05
  • Windows Powershell扩展类型系统

    Windows Powershell扩展类型系统

    本文主要详细介绍了集中将对象转换成文本的方法,并附上示例说明,非常的实用,有需要的朋友可以参考下
    2014-09-09
  • Powershell小技巧之创建短网址

    Powershell小技巧之创建短网址

    短网址服务,可能很多朋友都已经不再陌生,特别是在微博应用中十分普遍,比如,当我们在腾讯、新浪微博发微博时有时发很长的网址连接,但由于微博只限制140个字,所以微博就自动把您发的长网址给转换成短网址了。今天我们来探讨下,如何用powershell来便捷的使用短网址
    2014-10-10
  • PowerShell模拟按下J键并终止脚本

    PowerShell模拟按下J键并终止脚本

    这篇文章主要为大家介绍了PowerShell模拟按下J键并终止脚本,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • 探索PowerShell(一) 初识 PowerShell

    探索PowerShell(一) 初识 PowerShell

    PowerShell是一个由微软的提供的全新shell程序,使用了全新的命令提示和脚本环境
    2012-12-12
  • Powershell获取图片名字、文件夹及拍摄时间的例子

    Powershell获取图片名字、文件夹及拍摄时间的例子

    这篇文章主要介绍了Powershell获取图片名字、文件夹及拍摄时间等信息的例子,需要的朋友可以参考下
    2014-06-06
  • Windows Powershell 环境变量

    Windows Powershell 环境变量

    Windows PowerShell提供了一个名为euv的盘符,通过它可以访问传统的环境变量。因此,举个例子来说,Cmd.exe传统命令行中的%TEMP%变量,在PowerShell中对应的表达式就是env:\temp。今天我们就来详细的探讨下Powershell的环境变量
    2014-09-09
  • Powershell读取本机注册表中的所有软件关联扩展名

    Powershell读取本机注册表中的所有软件关联扩展名

    这篇文章主要介绍了Powershell读取本机注册表中的所有软件关联扩展名,本文直接给出实现代码,需要的朋友可以参考下
    2015-03-03
  • Powershell使用WPF技术实现弹窗提示实例

    Powershell使用WPF技术实现弹窗提示实例

    这篇文章主要介绍了Powershell使用WPF技术实现弹窗提示实例,需要的朋友可以参考下
    2014-05-05
  • Windows Powershell强类型数组

    Windows Powershell强类型数组

    强类型数组可以理解为强制数据类型的数组,也就是一个数组里只包含一种数据类型,强制转换数组语法的优势就是如果使用分号代替逗号分隔值,PowerShell将每个值看作命令文本,PowerShell会执行它并且存储结果。
    2014-09-09

最新评论