設定PowerShell中的cmdlet引數預設值
今天我們來看下PowerShell中早在3.0版本的時候就引進的設定預設值功能。
$PSDefaultParameterValues主要是為Cmdlet和高階函式指定設定自定義值,下來讓我們通過幾個例子詳細看看具體如何使用。
我們可以使用如下基本語法為Cmdlet的預設值設定指定的預設值。
[email protected]{"<CmdletName>:<ParameterName>"="<DefaultValue>"}
下面的例子中,$PSDefaultParameterValues為Get-Process的Name屬性設定了一個預設值為notepad的值,當我們再次輸入Get-Process不配合任何引數,你將會看到它預設輸出了notepad的資訊。
PS C:\Users\Administrator> $PSDefaultParameterValues = @{"Get-Process:Name" = "notepad"} PS C:\Users\Administrator> Get-Process Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName ------- ------ ----- ----- ----- ------ -- ----------- 87 7 1368 5916 ...50 0.11 1204 notepad
當然我們不僅可以設定單純的預設值還可以以語句塊的方式去設定預設值,如下。
[email protected]{"<CmdletName>:<ParameterName>"={<ScriptBlock>}}
在這裡,我們做了一些特殊的修改,把一個表示式寫入語句塊裡並把這個得到的值再複製給Name屬性,輸出結果和上一個例子相同。
PS C:\Users\Administrator> $PSDefaultParameterValues = @{"Get-Process:Name" = {(Get-Process -Id 1204)|select -ExpandProp erty processname}} PS C:\Users\Administrator> Get-Process Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName ------- ------ ----- ----- ----- ------ -- ----------- 87 7 1368 5916 ...50 0.11 1204 notepad
那麼如何檢視當前設定了哪些預設值呢?很簡單,直接輸入$PSDefaultParameterValues
PS C:\Users\Administrator> $PSDefaultParameterValues
Name Value
---- -----
Get-Process:Name (Get-Process -Id 1204)|select -ExpandProperty processname
那麼如果想要多次為$PSDefaultParameterValues預設值又改怎麼做呢,直接設定可以嗎?我們來試試看看:
PS C:\Users\Administrator> $PSDefaultParameterValues = @{"Get-Process:Name" = {(Get-Process -Id 1204)|select processname
}}
PS C:\Users\Administrator> $PSDefaultParameterValues = @{"Get-Content:Path" = "C:\XMLSample\New Text Document.txt"}
PS C:\Users\Administrator> $PSDefaultParameterValues
Name Value
---- -----
Get-Content:Path C:\XMLSample\New Text Document.txt
很顯然,當你在直接輸出$PSDefaultParameterValues的時候,它的值被最後一次的命令設定給覆蓋了,如果想要多次設定$PSDefaultParameterValues的預設值我們應該使用它的Add方法,如下:
PS C:\Users\Administrator> $PSDefaultParameterValues = @{"Get-Process:Name" = {(Get-Process -Id 1204)|select processname
}}
PS C:\Users\Administrator> $PSDefaultParameterValues.Add("Get-Content:Path","C:\XMLSample\New Text Document.txt")
當我們再次輸出$PSDefaultParameterValues,你會看到它已經包含多了多個設定值了。PS C:\Users\Administrator> $PSDefaultParameterValues
Name Value
---- -----
Get-Process:Name (Get-Process -Id 1204)|select processname
Get-Content:Path C:\XMLSample\New Text Document.txt
關閉$PSDefaultParameterValues預設值功能,只需要設定它的 Disbaled 鍵值為$true就行了,即便當我們在如下例子中在使用Get-Process檢視的時候,它原先的預設值功能已經不起作用了,輸出了所有的資訊。
PS C:\Users\Administrator> $PSDefaultParameterValues.Add("Disabled", $true)
PS C:\Users\Administrator> $PSDefaultParameterValues
Name Value
---- -----
Get-Process:Name (Get-Process -Id 1204)|select processname
Get-Content:Path C:\XMLSample\New Text Document.txt
Disabled True
PS C:\Users\Administrator> get-process
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
113 20 12408 16724 ...68 0.19 2756 calc
54 9 1068 4620 ...17 0.03 1672 conhost
42 7 792 3248 ...09 0.00 2224 conhost
78 10 2320 18260 ...31 1.17 2996 conhost
257 11 1780 3808 47 0.42 320 csrss
327 25 2228 85032 246 8.36 388 csrss
196 13 3256 10692 ...01 0.08 2032 dllhost
306 51 95356 150892 ...92 11.81 688 dwm
1455 118 53088 142576 ...11 34.67 2268 explorer
0 0 0 4 0 0 Idle
678 56 34128 62972 305 4.33 1640 iexplore
相關推薦
設定PowerShell中的cmdlet引數預設值
今天我們來看下PowerShell中早在3.0版本的時候就引進的設定預設值功能。 $PSDefaultParameterValues主要是為Cmdlet和高階函式指定設定自定義值,下來讓我們通過幾個例子詳細看看具體如何使用。 我們可以使用如下基本語法為Cmdlet的預設值設
JavaScript函式引數預設值設定
ES6中給出了函式的預設值設定,下面簡單介紹幾種設定預設引數的方法一.基本用法function first(x = 1, y = 2) { console.log("x:"+x ,"y:"+ y);}first();first(100);二.與解構賦值預設值結合func
ES6小技巧 - 使用解構賦值設定函式引數預設值
本文要說的並不是下面這種ES6的函式引數預設值: function fn(a = 0, b = 1) {} 複製程式碼 很多時候,我們在寫一個建構函式時,可能需要傳入很多引數,這時候就不可能使用函式引數一個一個的傳入,而是傳入一個物件當作引數。 舉個例子:一個函式,引數傳入一個物件,物件裡可以設定兩個屬性
MySQL5.7中的sql_mode預設值
簡介 在正常專案開發過程中,如果MySQL版本從5.6升級到5.7版本。作為DBA在考慮資料庫版本升級帶來的影響時,一般會有幾個注意點: sql_mode 預設值的改變 optimizer_switch 值的改變 備庫升級影響主備複製 本文主要內容是MySQL升級到5.7版本之後,由於
JVM引數預設值列表
[[email protected] ~]$ java -XX:+PrintFlagsFinal [Global flags] uintx AdaptiveSizeDecrementScaleFactor = 4
二、C#4.5語法新特徵-02(引數預設值和命名引數)
一、引數修飾符型別 1 out 引數修飾符 out 引數通過引用來傳遞。 static void Method(out int i) { i = 44; } static void Main() { int value
ES6學習 --函式引數預設值與解構賦值預設值
1. ES6的解構ES6中引入瞭解構賦值的操作,其作用是:將值從陣列Array或屬性從物件Object提取到不同的變數中 即分為兩種情況:從陣列Array中解構,以及從物件Object中解構 ①.從陣列中解構const [a, b] = [1, 2]//a = 1, b = 2當然這些是基本的陣列解構賦值
MySQL 5.7 和 MySQL 5.6引數預設值比較
這裡只拿出預設值有改變的引數,預設值沒有改變的不在下面的列表中。這些資料是通過 ” show global variables ;” 獲得,可能不是所有的引數。 引數 MySQL 5.6 MySQL 5.7
ES6引數預設值
方式一: function makeAjaxRequest(url,method){ if(!method){//在METHOD沒有值的情況下為GET method = "GE
如何理解JavaScript中的引數按值傳遞
開始之前先說一下 ES 中的兩種資料型別的值:基本型別值和引用型別值。 基本資料型別:Undefined、Null、Boolean、Number、String。 引用資料型別的值是儲存在記憶體中的物件。與其他語言不同,JavaScript 不允許直接訪問記憶體中的位置,也就是說不能直
java中 方法引數是值傳遞還是引用傳遞 ?
物件是引用傳遞,原始型別資料是值傳遞 實際上把方法引數中物件引數看做是物件的引用,那麼物件引用也是值傳遞 它符合值傳遞的一切的特徵,即我們可以通過物件引用的引數去改變它所指向物件的屬性,但我們卻無法改變這個物件引用引數所指向的物件。
Python函式引數預設值的陷阱和原理深究 • cenalulu's Tech Blog
本文將介紹使用mutable物件作為Python函式引數預設值潛在的危害,以及其實現原理和設計目的 陷阱重現 我們就用實際的舉例來演示我們今天所要討論的主要內容。 下面一段程式碼定義了一個名為generate_new_list_with的函式。該函式的本意是在每次呼叫時都新建一個包含有給
java中的引數傳遞 值傳遞,引用傳遞
引數是按值而不是按引用傳遞的說明 Java 應用程式有且僅有的一種引數傳遞機制,即按值傳遞。 在 Java 應用程式中永遠不會傳遞物件,而只傳遞物件引用。因此是按引用傳遞物件。Java 應用程式按引用傳遞物件這一事實並不意味著 Java 應用程式按引用傳遞引數。引數可以是物件引用,而 J
struts2怎麼設定s:radio的預設值
<s:radio name="staffSex" list="#{'M':'男','F':'女'}" listKey="key" listValue="value" value="'M'"/>是字串就這樣:value="'M'"<s:radio name="
java中的引數傳遞-值傳遞、引用傳遞
引數是按值而不是按引用傳遞的說明 Java 應用程式有且僅有的一種引數傳遞機制,即按值傳遞。 在 Java 應用程式中永遠不會傳遞物件,而只傳遞物件引用。因此是按引用傳遞物件。Java 應用程
關於如何獲取url中的引數的值
最近總是遇到這個問題,每次都要去百度,很麻煩,就做個記錄。 找了很久好像也沒有定義好的函式可以呼叫,需要自己定義一個函式,要用到的就是正則表示式,關於正則表示式就不多做解釋了。下面是定義函式的方法: function getUrlParam(name){ //構造一個
jquery擷取位址列中url引數的值
//擷取位址列中url的引數值 function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&
在Hibernate中對資料庫預設值的寫入問題
如果在資料表中設定了一個欄位的預設值(比如說預設當前日期之類的),並且該欄位又不允許為空。如果是用Eclipse中的反向工程對該資料生成的POJO類和hbm.xml對映檔案,這時應該要修改對映檔案中的兩個地方才能正常使用資料庫中的預設值。 一是將dynamic-insert設定為true 二是將對應欄位
MySql和Oracle的建表即約束設定不同[日期型別的預設值設定方式不同]
Oracle中 給日期時間設定預設值的方式: CREATE TABLE "PHR"."T_UM_USERDETAIL" ( "PID" NVARCHAR2(128) NOT NULL , "USERID" NVARCHAR2(128) NULL , "PHOTOID" N
js函式引數預設值的問題
在自定義的JS函式中想當然地為引數賦了預設值,如下: function addHeadQuaterTab(text, url, closable=true, refresh=true) {