মন্তব্যে সাইমনস দ্বারা উল্লিখিত হিসাবে, আপনাকে কোনটি প্রকাশ -Name
এবং কোনটিটি পরিবর্তন করতে হবে -Value
। বর্তমানে, আপনার এক্সএলএস ফাইলগুলির সংখ্যা পেতে আপনার অভিব্যক্তিটি স্পষ্টতই -Name
প্যারামিটার Set-Variable
- অর্থাৎ সেট করতে চলকটির নাম - এবং এর বিষয়বস্তু $NumberOfCabinets
সেই ভেরিয়েবলের ডেটা। যেহেতু $NumberOfCabinets
এখনও সেট করা হয়নি, নতুন ভেরিয়েবল নাল বরাদ্দ করা হয়েছে। উদাহরণস্বরূপ, যদি পাঁচটি এক্সএলএস ফাইল থাকে তবে নামের একটি ভেরিয়েবল $5
তৈরি করা হবে এবং নালায় সেট করা হবে কারণ আপনার গণনা অভিব্যক্তিটি ভেরিয়েবলের নাম সরবরাহ করে।
সাধারণত, Set-Variable
যদি আপনার গতিশীলভাবে কোন ভেরিয়েবল সেট করতে হয় তা চয়ন করতে হবে। আপনি যদি যাইহোক এটি ব্যবহার করতে চান তবে আপনার আদেশটি এরকম হবে:
Set-Variable 'NumberOfCabinets' (Get-ChildItem $filepath | where {$_.Extension -eq ".xls"} | Measure-Object).Count
নোট করুন যে সেট করতে / তৈরি করতে হবে ভেরিয়েবলের নামটি কেবল একটি স্ট্রিং হিসাবে পাস করা হয়েছে।
তবে স্ট্যান্ডার্ড অ্যাসাইনমেন্ট অপারেটরটি ব্যবহার করে ভেরিয়েবলটি সেট করা সম্ভবত সহজ:
$NumberOfCabinets = (Get-ChildItem $filepath | where {$_.Extension -eq ".xls"} | Measure-Object).Count
কিছু অন্যান্য উপাধি এবং পাওয়ারশেল সংগ্রহের ইতিমধ্যে একটি Count
সম্পত্তি রয়েছে তা ব্যবহার করে আমরা এটিকে কিছুটা কমিয়ে দিতে পারি:
$NumberOfCabinets = (gci $filepath | ? { $_.Extension -eq '.xls' }).Count
Set-variable -name NumberOfCabinets -value (Get-ChildItem $filepath|where{$_.Extension -eq ".xls"}|Measure-Object).Count
তবে আমি কেবল করব$NumberOfCabinets = (Get-ChildItem $filepath|where{$_.Extension -eq ".xls"}|Measure-Object).Count