在编写PowerShell脚本的时候,可以通过给变量赋值的方法输出想要的结果,但这样的话,需要改动脚本内容。其实也可以在脚本中定义参数,然后再在执行脚本的时候对参数赋值,而无需改动脚本内容。

  在PowerShell脚本中,可以使用param()声明参数,如下:

  param($a,$b)

  write-host "Hello,$a"

  write-host "nihao,$b"

  将以上内容保存在F盘根目录下,命名为hello.ps1。

  在命令提示符下运行该脚本,并分别为参数$a和$b指定值为“Lily”和“Lucy”,方式如下:

  C:\Users\Administrator>powershell.exe F:\hello.ps1 Lily Lucy

  脚本执行结果为:

  Hello,Lily

  nihao,Lucy

  如果需要改变参数位置,需要为不同的参数指定值,如将$a指定值为“Lucy”,$b指定值为“Lily”,方式如下:

  C:\Users\Administrator>powershell.exe F:\hello.ps1 -b Lily -a Lucy

  脚本执行结果为:

  Hello,Lucy

  nihao,Lily

  在声明参数的时候,还可以指定参数类型,如下:

  param([string]$a,[int]$b)

  $a+$b

  在给脚本传递参数的时候,如果为$a和$b指定参数类型为string,则会报错,如下:

  C:\Users\Administrator>powershell.exe F:\hello.ps1 -a LiLei -b Lin

  F:\hello.ps1 : 无法处理对参数“b”的参数转换。无法将值“Lin”转换为类型“System.

  Int32”。错误:“输入字符串的格式不正确。”

  所在位置 行:1 字符: 25

  + F:\hello.ps1 -a LiLei -b <<<< Lin

  + CategoryInfo : InvalidData: (:) [hello.ps1], ParameterBindin...

  mationException

  + FullyQualifiedErrorId : ParameterArgumentTransformationError,hello.ps1

  只有为其赋予int类型值才可以,如下:

  C:\Users\Administrator>powershell.exe F:\hello.ps1 -a 5 -b 6

  11

PowerShell脚本传递参数的更多相关文章

  1. 【hadoop】如何向map和reduce脚本传递参数,加载文件和目录

    本文主要讲解三个问题:       1 使用Java编写MapReduce程序时,如何向map.reduce函数传递参数.       2 使用Streaming编写MapReduce程序(C/C++ ...

  2. python 脚本传递参数

    python查找指定字符 #!/usr/bin/env python import sys import re f = open("log.txt", "rb" ...

  3. linux shell编程指南第二十章------向脚本传递参数

    前面已经讲到如何使用特定变量$ 1 . . $ 9向脚本传递参数.$ #用于统计传递参数的个数.可 以创建一个u s a g e语句,需要时可通知用户怎样以适当的调用参数调用脚本或函数. 简单地说,下 ...

  4. (转)如何向map和reduce脚本传递参数

    [MapReduce] 如何向map和reduce脚本传递参数,加载文件和目录 分类: hadoop2014-04-28 21:30 1553人阅读 评论(0) 收藏 举报 hadoop 本文主要讲解 ...

  5. shell调用python脚本,并且向python脚本传递参数

    1.shell调用python脚本,并且向python脚本传递参数: shell中: python test.py $para1 $para2 python中: import sys def main ...

  6. 如何向map和reduce脚本传递参数,加载文件和目录

    本文主要讲解三个问题:       1 使用Java编写MapReduce程序时,如何向map.reduce函数传递参数.       2 使用Streaming编写MapReduce程序(C/C++ ...

  7. 分发系统介绍、expect脚本远程登录、expect脚本远程执行命令、expect脚本传递参数

    7月19日任务 20.27 分发系统介绍20.28 expect脚本远程登录20.29 expect脚本远程执行命令20.30 expect脚本传递参数 20.27 分发系统介绍 公司业务逐渐扩大时, ...

  8. Linux centosVMware运行告警系统、分发系统-expect讲解、自动远程登录后,执行命令并退出、expect脚本传递参数、expect脚本同步文件、指定host和要同步的文件、shell项目-分发系统-构建文件分发系统、分发系统-命令批量执行

    一运行告警系统 创建一个任务计划crontab -e 每一分钟都执行一次 调试时把主脚本里边log先注释掉 再次执行 没有发现502文件说明执行成功了,每日有错误,本机IP 负载不高 二.分发系统-e ...

  9. python脚本传递参数

    给python程序传递参数 运行python脚本时有时需要执行实传递参数 在linux下: [root@Test ~]# cat /opt/python.py #!/usr/local/bin/pyt ...

随机推荐

  1. 使用div+css制作简单导航 以及要注意问题

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. php 使用jquery实现ajax

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  3. SQLite入门与分析(八)---存储模型(2)

    3.页面结构(page structure) 数据库文件分成固定大小的页面.SQLite通过B+tree模型来管理所有的页面.页面(page)分三种类型:要么是tree page,或者是overflo ...

  4. UDP模块(黑胶体)

    UDP模块是采用PIP封装技术的U盘半成品模块,直接加上外壳,就是成品U盘. 它有以下特点: 防水.防尘.防震. 一体WAFER封装技术. 薄.轻.时尚. 产品装配方便.简单. 产品标准化,适合客户在 ...

  5. Java按位置解析文本文件(使用Swing选择文件)

    工作中遇到这样的一个需求,按位置解析一些文本文件,它们由头部.详情.尾部组成,并且每一行的长度可能不一样,每一行代表的意思也可能不一样,但是每一行各个位置代表的含义已经确定了. 例如有下面这样一段文本 ...

  6. c while 循环

    c代码: #include <stdio.h> int main(void){ unsigned long sum=1UL; unsigned int j=1U; unsigned ; p ...

  7. Linq中的常用方法

    System.Linq System.Linq.Enumerable  类 Range Repeat Reverse Select Where Sum Zip Aggregate Count Firs ...

  8. ☀【Node】处理文件上传

    Node入门 √http://www.nodebeginner.org/index-zh-cn.html Node.js中所用的fs.renameSync出错:Error: EXDEV, cross- ...

  9. Mac OS X 10.10(yosemite)更新后,cocoapods出错, 及cocoapods更新至0.34后, 错误情况整理

    1:Mac升级10.10后,执行pod install出错如下 QTX-Will-mini:NewHishop willbin$ pod install [!] Unable to load a sp ...

  10. js中test,exec和match方法

    test test 返回 Boolean,查找对应的字符串中是否存在模式. var str = "1a1b1c";var reg = new RegExp("1.&quo ...