পাওয়ারশেলে "%" (শতাংশ) কী করে?


106

দেখে মনে হচ্ছে যে% অপারেশনটি পাইপলাইনের পরে স্ক্রিপ্ট ব্লকগুলি শুরু করে, যদিও প্রায়_স্ক্রিপ্ট_ব্লকগুলি নির্দেশ করে যে% প্রয়োজনীয় নয়।

এই সমস্ত কাজ ঠিক আছে।

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

{ write-host 'hello' }

% { write-host 'hello' }

তবে আমরা যখন পাইপলাইনের পরে কোনও স্ক্রিপ্ট ব্লক যুক্ত করি তখন আমাদের প্রথমে% থাকা দরকার।

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

2
আপনি কি "পাওয়ারশেল শতকরা চিহ্ন" অনুসন্ধানের চেষ্টা করেছেন
পিইএইচএএ

17
আপনি পেতে পারেন সম্ভবত পেতে সহায়তা%
mjolinor

7
@mjolinor এটি দরকারী। আমি জানতাম না যে আমি প্রতীকগুলির জন্য সাহায্য পেতে পারি। আমি দেখতে পাচ্ছি যে আমরা get-help দিয়ে lookup _ এও দেখতে পারি। দারুণ!
শন লুটিন

1
এটিও একটি মডুলাস অপারেটর! শুধু এই প্রসঙ্গে নয়
Cole9350

41
@ পেহাহা আপনার পরামর্শটি এখানে নিয়ে যায়।
নীলোক

উত্তর:


144

যখন কোনও সেমিডলেট (যেমন আপনার উদাহরণ) এর প্রসঙ্গে ব্যবহৃত হয়, এটির জন্য একটি উপাধি রয়েছে 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
যোগ করা সমীকরণ এবং অ্যাসাইনমেন্ট অপারেটরের উদাহরণগুলি
কোহলব্রার

17
ফরচ-অবজেক্টের ক্ষেত্রে, আমি "%" চিহ্নটি ব্যবহার না করার পরামর্শ দেব - আপনার কোডগুলি পড়া / বজায় রাখা লোকদের পক্ষে আরও শক্ত করে তোলে - বিশেষত পিএস-তে নতুন লোকেরা। আসুন এটির মুখোমুখি হোন, যত বেশি লোক পিএস বাছাই করবে তত ভাল।
সাইমন ক্যাটলিন

1
এমএসডিএন-এর অফিসিয়াল ডকুমেন্টেশনে আমি ফোর-ইচ-অবজেক্টের অর্থ কোথায় পাব?
ডানফোল্ড

আমি সাইমন ক্যাটলিনের সাথে একমত নই, এই যুক্তি অনুসারে আমাদের সকলকে
সমাবেশটি

16

একটি পোস্ট পাওয়ারশেল - বিশেষ অক্ষর এবং টোকেন্স সহ একাধিক চিহ্নের বর্ণনা সরবরাহ করে%

% (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-Object। এটির ForEachজন্য একটি উপাধিও ForEach-Object- বিবৃতি শুরুর সময় ব্যবহৃত ব্যতীত, যেখানে এটি লুপ নিয়ন্ত্রণ কীওয়ার্ড (পছন্দ while)।
mwfearnley

4

%প্রতিস্থাপন করতে পারেন যা কোনটি বা এক ছাড়া কাজ করবে না ।Get-ChildItem | ForEach-Object { write-host $_.Name }%ForEach-Object

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.