powershell指令碼,命令列引數傳值,並繫結變數的例子
這是小技巧文章,所以文章不長。但原創唯一,非常重要。我搜了下,還真沒有人發 powershell怎樣 【命令列 引數 繫結】,所以我決定寫成部落格。
搜尋關鍵字如下:
powershell 命令列 引數 繫結
powershell 傳入 引數
powershell 傳遞 引數
powershell CmdletBinding
powershell 命令列 引數 繫結 傳入 傳遞 parameter CmdletBinding
powershell 傳教士 原創文章。始於 2016-09-26 允許轉載,但必須保留名字和出處,否則追究法律責任
---【寫文章初衷】---
powershell 前人寫了幾篇powershell傳值的帖子,但那些都是講$args的。而我這篇主要講CmdletBinding的。大家不可不知。
---【powershell 指令碼的 命令列引數繫結】---
問:什麼是$args傳值法?
答:我把它稱為【引數位置傳值法】。 $args 是一個物件陣列。陣列中的值,分別為 【第一個引數】,【第二個引數】,【第三個引數】
設命令列為:
ps>a指令碼1.ps1 引數1 引數2 引數3
那麼 $args[0] 的值為【引數1】, $args[1] 的值為【引數2】, $args[2] 的值為【引數3】,
我個人喜歡這種傳值方法。因為寫起來用起來簡單。 但是有個缺點,位置固定。
問:什麼是CmdletBinding傳值法?
答:我把它稱為【給指令碼內部變數名】傳值法。 這種傳值法適合於傳遞多個引數值,並且引數值的位置隨機。
設命令列為:
ps>b指令碼2.ps1 -嫦娥姐姐剛走_國慶節就要來了_十一吃點啥好呢 “攢錢等雙十一剁手中” -中國的英文單詞是什麼 ‘china’
那麼指令碼應該這樣寫:
[CmdletBinding()] Param( [string]$嫦娥姐姐剛走_國慶節就要來了_十一吃點啥好呢, #指令碼命令列引數繫結例子 powershell傳教士 製作 分享 [string]$中國的英文單詞是什麼, [string]$aAaa = 'k', [Int32]$數字 = 17 ) $a = 'xxx' + $嫦娥姐姐剛走_國慶節就要來了_十一吃點啥好呢 + 'yyy' write-host $a write-host $中國的英文單詞是什麼
---【powershell 函式 的命令列繫結】---
函式的命令列繫結,也是一樣,請看程式碼:a.psm1
function aaa { [CmdletBinding()] Param( [string]$今天好心情_老熊請吃, #指令碼命令列引數繫結例子 powershell傳教士 製作 分享 [int32]$a = 123 ) write-host "老熊今天請吃 ? $今天好心情_老熊請吃 !!!" Write-Host $a }
a.psm1使用方法:
import-module d:\xxx\a.psm1
aaa -今天好心情_老熊請吃 'ji'
返回:
老熊今天請吃 ? ji !!!
123
---【指令碼的知識點】---
1 必須在Param前面加上一行 “ [CmdletBinding()] ”,才能用【給指令碼內部變數名傳值法】。同時$args變數將為空。即這兩種傳值方法魚與熊掌不可兼得。
2 powershell命令列 支援:單引號,雙引號,中文的單引號,中文的雙引號。(linux版的powershell也完全支援這些)
3 powershell指令碼 支援:中文變數名,中文引數名。(linux版的powershell也完全支援這些)
4 tab補全:
4.1 輸入b,然後打【tab鍵】,即可補全出【b指令碼2.ps1】。
4.2 出現【b指令碼2.ps1】後,輸入【空格】,然後打【-】,然後打【tab鍵】,即可補全出【嫦娥姐姐剛走_國慶節就要來了_十一吃點啥好呢】。當然英文也能補全出來。
5 【給指令碼內部變數名傳值法】,【$args引數位置傳值法】。這兩種傳值方法,支援從powershell 2.0到最新版 powershell 5.1。
-完-
相關推薦
powershell指令碼,命令列引數傳值,並繫結變數的例子
這是小技巧文章,所以文章不長。但原創唯一,非常重要。我搜了下,還真沒有人發 powershell怎樣 【命令列 引數 繫結】,所以我決定寫成部落格。 搜尋關鍵字如下: powershell 命令列 引數 繫結 powershell 傳入 引數 powershell 傳遞 引數 p
Windows小知識(關聯檔案開啟型別,快捷鍵,命令列語句執行原理,快速編輯模式)
如何關聯檔案的開啟型別 開啟命令執行工具,注意,win7,win8及以上的環境,要用管理員方式執行執行assoc.java=nppfile執行ftype nppfile="C:\ProgramFile
java中包的理解,普通類、抽象類、介面作為方法引數傳值情況,作為返回值的傳遞情況。
一、包的概念 用於存放類檔案,包含原始檔還有.class檔案。通過包的分類管理讓功能相同的類放在一個資料夾裡。作用:為類檔案進行分類管理。 二、包的宣告格式 通常使用公司網址反寫。包名全部採用小寫字母。多層包用.連線。包的宣告必須在有效程式碼的第一行。 導包: impo
201403-3命令列選項(c++,字串處理)
試題編號: 201403-3 試題名稱: 命令列選項 時間限制: 1.0s 記憶體限制: 256.0MB 問題描述: 問
【第8天】Java方法過載、方法重寫(覆蓋)、構造方法及引數傳值
1 方法過載(overload) 2 方法重寫(覆蓋)(override) 3 構造方法 4 引數傳值 1 方法過載(overload) 方法過載的作用? 同時滿足使用者的不同需求。 同一個方法,使用者可以傳入不同
Linux終端下命令列顏色的設定,三步解決
要實現的效果如下: 步驟: 1,在命令列輸入: vim ~/ .bashrc 2,進入vim編輯器內容頁,然後在vim的最後一行(正文的最後一行),輸入 PS1='\[\033[1;31;1m\]\[email
Python 處理指令碼的命令列引數
# -*- coding:utf-8 -*- import sys def test(): """ 引數列表:sys.argv 引數個數:len(sys.argv) 指令碼名: sys.argv[0] 引數1: sys.argv[1] 引數2:
遠端管理KVM,命令列控制KVM,console連線,透傳
遠端管理虛擬機器 首先,將虛擬機器改成橋接模式,才可以相互連線。 開啟宿主機的虛擬系統管理器 輸入要遠端管理的IP地址。 然後輸入密碼,顯示連線。 開啟遠端管理的主機的設定,設定VNC伺服器和所有介面,就
在Linux伺服器上,命令列下執行Matlab的.m檔案
1、採用shell工具例如xshell連線伺服器,鍵入 matlab ,或者含有matlab的相關命令,按照提示要求安裝Xmanager工具,只需官網下載,按說明安裝。 2、直接執行Matlab:$matlab,然後可以開啟matlab工具,根據xmanager工具可以在本地開啟matlab
命令列中執行Python,找不到匯入包
命令列中執行python,匯入其他目錄包時報找不到包的錯誤,原因是命令列中執行只會搜尋當前目錄下的包, import sys import os curPath = os.path.abspath(os.path.dirname(__file__)) rootPath = os.path.sp
考慮以下 Python 程式碼,如果執行結束,命令列中的執行結果是什麼?
l = [] for i in xrange(10): l.append({‘num’:i}) print l在考慮以下程式碼,執行結束後的結果是什麼? l = [] a = {‘num’:0} for i in xrange(10): a[‘num’] = i l.append(a) prin
基本型別引數傳值(持續整理中)
一 、值傳遞 測試: 分析: 值傳遞的過程中會給形參分配一個同等型別的記憶體空間,將實參的內容深拷貝到為該形參分配的記憶體空間中,後續都是對形參的這塊空間進行操作,對實參的記憶體空間沒有影響; 二 、引用傳值 測試: 分析: 引用傳值,在函式中不用重新分配一個型別空間,形
12.15有一種數叫回文數,正讀和反讀都一樣,如12321便是一個迴文數。編寫一個程式,從命令列得到一個整數,判斷該數是不是迴文數
有一種數叫回文數,正讀和反讀都一樣,如12321便是一個迴文數。編寫一個程式,從命令列得到一個整數,判斷該數是不是迴文數 package Text6; import java.util.Scanner; public class Zuoyexuanzuo5 { public st
Java的知識點10——static關鍵字、靜態初始化塊、 引數傳值機制、包、匯入類import、 靜態匯入
static 關鍵字 在類中,用static宣告的成員變數為靜態成員變數,也稱為類變數。 類變數的生命週期和類相同,在整個應用程式執行期間都有效。它有如下特點: 1. 為該類的公用變數,屬於類,被該類的所有例項共享,在類被載入時被顯式初始化。 2. 對於該類的所
React Link 帶引數傳值
2018年11月09日 13:23:32 obf13 閱讀數:12 標籤: React 傳參
JAVA學習筆記 引數傳值機制
一。程式碼 public class user3 {int id;String name;String pass;static String company;public user3(int id,String name){ this.id=id; this.name=name;}public v
JavaScript各種定向攜帶引數傳值問題。(window.location.href)
帶變數 string id = Request.QueryString["id"].ToString(); Response.Write("<script>alert('成功');window.location.href('reply.aspx?word_id=
【舊文章搬運】獲取並修改PEB中的映像路徑,命令列和當前目錄
原文發表於百度空間,2008-7-24 當時對UNICODE_STRING的使用還有點問題,導致最終效果圖中字串被截斷了========================================================================== 先從分析PEB開始吧.感覺分析這個東
Linux下Mongodb安裝,命令列操作和sql語句
--logappend --port=27017 --fork 5. 引數解釋: --dbpath 資料庫路徑(資料檔案)--logpath 日誌檔案路徑--master 指定為主機器--slave 指定為從機器--source 指定主機器的IP地址--pologSize 指定日誌檔案大小不超過64M.因為
使用shell指令碼或命令列 新增crontab 定時任務
crontab 是運維過程中常用的定時任務執行工具 一般情況下在有新的定時任務要執行時,使用crontab -e ,將開啟一個vi編輯介面,配置好後儲存退出,但是在自動化運維的過程中往往需要使用shell指令碼或命令自動新增定時任務。接下來結束三種(Cent