当前位置: 首页 > 编程笔记 >

Windows Powershell 定义函数

上官英哲
2023-03-14
本文向大家介绍Windows Powershell 定义函数,包括了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"。

 类似资料:
  • 简介 在前面的章节中,我已经讲解了: 如何安装MIT-Scheme; Scheme解释器是如何对S-表达式求值; 基本的表操作; 在本章中,我会讲解如何自定义函数。由于Sheme是函数式编程语言,你需要通过编写小型函数来构造程序。因此,明白如何构造并组合这些函数对掌握Scheme尤为关键。在前端定义函数非常不便,因此我们通常需要在文本编辑器中编辑好代码,并在解释器中加载它们。 如何定义简单函数并加

  • 在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。 我们以自定义一个求绝对值的my_abs函数为例: def my_abs(x): if x >= 0: return x else: return -x 请自行测试并调用my_abs看看返回结果

  • 在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。 我们以自定义一个求绝对值的my_abs函数为例: # -*- coding: utf-8 -*- ---- def my_abs(x): if x >= 0: return x else: re

  • 在 Python 中,定义函数使用 def 语句。一个函数主要由三部分构成: 函数名 函数参数 函数返回值 让我们看一个简单的例子: def hello(name): return name >>> r = hello('ethan') >>> r 'ethan' 在上面,我们定义了一个函数。函数名是 hello;函数有一个参数,参数名是 name;函数有一个返回值,name。 我们也可以

  • 我做了这个自定义函数,并把它放在全局之外,这通常会工作。我也试着在主异步木偶函数中移动它,但也不起作用。这是一个简单的函数。在每个page evaluate函数中,我调用它并传递选择器。但是,它的说法没有定义和promise拒绝,这是奇怪的,因为函数不是promise....请帮助 我尝试将函数转换为异步函数,添加了一个新的参数页。然后,我将async添加到我的评估函数中,然后将puppeteer

  • 之前的过程抽象的例子调用了一个名为sqrt的Python函数,它来自math模块,用来计算平方根。一般来说,我们可以通过定义一个函数来隐藏任何计算的细节。一个函数定义需要一个名称、一组参数和一个函数体。它也可以显式地返回一个值。例如,下面定义的简单函数返回传入的值的平方。 >>> def square(n): ... return n**2 ... >>> square(3) 9

  • Lua 使用关键字 function 定义函数,语法如下: function function_name (arc) -- arc 表示参数列表,函数的参数列表可以为空 -- body end 上面的语法定义了一个全局函数,名为 function_name. 全局函数本质上就是函数类型的值赋给了一个全局变量,即上面的语法等价于 function_name = function (arc)

  • 本文向大家介绍Lua定义函数,包括了Lua定义函数的使用技巧和注意事项,需要的朋友参考一下 示例 让我们看一下语法。首先,我们看到一个function关键字。好吧,这很具有描述性。接下来,我们看到add标识符;名字。然后,我们看到这些参数(a, b)可以是任何参数,并且是局部的。只有在功能体内,我们才能访问它们。让我们跳到最后,我们看到...好吧end!介于两者之间的是函数体;调用时运行的代码。该