यहाँ पॉवरशेल स्क्रिप्ट है जिसे मैंने अब तक बनाया है:
dir C:\Windows\System32 | Sort-Object -Descending
मेरा अंतिम लक्ष्य निम्न निर्देशिका में सभी फाइलों (केवल फाइलें - कोई उप निर्देशिका नहीं) सूचीबद्ध करना है, जो अवरोही क्रम में फ़ाइल नाम द्वारा क्रमबद्ध है। आगे मुझे पॉवर्सशेल में बनाई गई इस निर्देशिका सूची को पढ़ने की जरूरत है, फिर स्क्रीन पर हर दूसरे फ़ाइल नाम को प्रदर्शित करें।
मैं सॉर्ट किए गए परिणामों को Foreach-Object cmdlet में पाइप करके, और फिर परिणामी सूची से "ऑब्जेक्ट" पढ़कर, Get-Content cmdlet, और प्रत्येक ऑब्जेक्ट की FullName प्रॉपर्टी का उपयोग करके ऐसा करने का एक तरीका खोजने का प्रयास कर रहा था - जैसे: सामग्री प्राप्त करें $_.FullName
dir C:\Windows\System32 | Sort-Object -Descending | ForEach-Object
कोई भी विचार उन cmdlets के साथ ऐसा कैसे करें?
1 उत्तर
आप किसी सरणी में किसी आइटम की अनुक्रमणिका संख्या .IndexOf()
के साथ प्राप्त कर सकते हैं। आप "mod 2 = शून्य" का उपयोग करके संख्याओं की सूची की सम संख्याएँ प्राप्त कर सकते हैं। कुछ इस तरह ...
$TargetDir = "$env:windir\system32"
$FileList = Get-ChildItem -LiteralPath $TargetDir -File |
Sort-Object -Property Name
foreach ($FL_Item in $FileList)
{
# if "number mod 2 = zero", then it's an even number
if ($FileList.IndexOf($FL_Item) % 2 -eq 0)
{
$FL_Item.Name
}
}