PowerShell में "%" (प्रतिशत) क्या करता है?


106

ऐसा लगता है कि% ऑपरेशन पाइपलाइन के बाद स्क्रिप्ट ब्लॉक शुरू करता है , हालाँकि about_Script_Blocks इंगित करता है कि% आवश्यक नहीं है।

ये सभी ठीक काम करते हैं।

get-childitem | % { write-host $_.Name }

{ write-host 'hello' }

% { write-host 'hello' }

लेकिन जब हम पाइपलाइन के बाद एक स्क्रिप्ट ब्लॉक जोड़ते हैं, तो हमें पहले% होना चाहिए।

get-childitem | { write-host $_.Name }

2
क्या आपने "
पॉवरशेल

17
आपने
mjolinor

7
@mjolinor यह उपयोगी है। मुझे नहीं पता था कि मुझे प्रतीकों पर मदद मिल सकती है। मैं देख रहा हूं कि हम get-help से $ _ भी देख सकते हैं। एक दम बढ़िया!
शॉन लुटिन

1
यह एक मापांक ऑपरेटर भी है! बस इस संदर्भ में नहीं
Cole9350

41
@PeeHaa आपका सुझाव यहाँ ले जाता है।
NiloCK

जवाबों:


144

जब एक cmdlet के संदर्भ में उपयोग किया जाता है (जैसे कि आपका उदाहरण), तो इसके लिए एक उपनाम है ForEach-Object:

> Get-Alias -Definition ForEach-Object

CommandType     Name                                                Definition
-----------     ----                                                ----------
Alias           %                                                   ForEach-Object
Alias           foreach                                             ForEach-Object

जब एक समीकरण के संदर्भ में उपयोग किया जाता है, तो यह मापांक ऑपरेटर होता है :

> 11 % 5

1

और मापांक ऑपरेटर के रूप में, %एक असाइनमेंट ऑपरेटर में भी इस्तेमाल किया जा सकता है ( %=):

> $this = 11
> $this %= 5
> $this

1

2
मैं इसे एक बार उत्तर के रूप में चिह्नित करूंगा क्योंकि इसमें विभिन्न संदर्भों में मापांक ऑपरेटर के रूप में% भूमिका शामिल है।
शॉन लुटिन

1
जोड़ा गया समीकरण और असाइनमेंट ऑपरेटर उदाहरण
Kohlbrr

17
Foreach-Object के मामले में, मैं "%" प्रतीक का उपयोग नहीं करने की सलाह दूंगा - यह लोगों के लिए अपने कोड को पढ़ने / बनाए रखने के लिए कठिन बना देता है - विशेष रूप से पीएस के लिए नए लोग। आइए इसका सामना करते हैं, जो लोग पीएस उठाते हैं, वे बेहतर हैं।
साइमन कैटलिन

1
मैं MSDN पर आधिकारिक दस्तावेज में ForEach-Object का अर्थ कहां पा सकता हूं?
दाएं

मैं साइमन कैटलिन से असहमत हूं, उस तर्क से हम सभी को असेंबली का उपयोग करना चाहिए, क्योंकि बाकी सिर्फ
सिन्गनेटिक

16

एक पोस्ट PowerShell - विशेष वर्ण और टोकन सहित कई प्रतीकों का वर्णन प्रदान करता है%

% (percentage)

1. Shortcut to foreach.
Task: Print all items in a collection.
Solution.
... | % { Write-Host $_ }

2. Remainder of division, same as Mod in VB.
Example:
5 % 2

7
@ शुनलुटिन: मूल्य एक कड़ी है, जिसमें% सहित कई विशेष पात्रों का वर्णन किया गया है
माइकल फ्रीजिम

तकनीकी रूप से यह एक उपनाम है ForEach-ObjectForEachएक उपनाम के लिए भी है ForEach-Object- जब एक बयान की शुरुआत में इस्तेमाल किया जाता है, जहां यह एक लूप नियंत्रण कीवर्ड (जैसे while) है।
mwfearnley

4

%प्रतिस्थापित कर सकते हैं जो या तो बिना काम नहीं करेगा या ।Get-ChildItem | ForEach-Object { write-host $_.Name }%ForEach-Object

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.