PowerShell का उपयोग कर रिकर्सिव फ़ाइल खोज




powershell-v2.0 (4)

मैं सभी फ़ोल्डर्स में एक फाइल खोज रहा हूं।

Copyforbuild.bat कई स्थानों पर उपलब्ध है, और मैं पुनरावर्ती खोजना चाहता हूं।

$File = "V:\Myfolder\**\*.CopyForbuild.bat"

मैं PowerShell में इसे कैसे कर सकता हूं?


इसे इस्तेमाल करे:

Get-ChildItem -Path V:\Myfolder -Filter CopyForbuild.bat -Recurse | Where-Object { $_.Attributes -ne "Directory"}

मुझे पता है कि सवाल पुराना है, लेकिन मैं शै लेवी के जवाब पर टिप्पणी नहीं कर सका।

फ़ोल्डरों को खोजते समय आपको सुरक्षा के आधार पर त्रुटि मिल सकती है (उदाहरण के लिए C:\Users ) निम्न आदेश का उपयोग करें:

Get-ChildItem -Path V:\Myfolder -Filter CopyForbuild.bat -Recurse -ErrorAction SilentlyContinue -Force

वाइल्डकार्ड का उपयोग करके फ़िल्टर करें

Get-ChildItem -Filter CopyForBuild* -Include *.bat,*.cmd -Exclude *.old.cmd,*.old.bat -Recurse 

Regex का उपयोग कर फ़िल्टरिंग

Get-ChildItem -Path "V:\Myfolder" -Recurse
| Where-Object { $_.Name -match '\ACopyForBuild\.[(bat)|(cmd)]\Z' }

-Recurse स्विच के साथ Get-ChildItem cmdlet का -Recurse करें:

Get-ChildItem -Path V:\Myfolder -Filter CopyForbuild.bat -Recurse -ErrorAction SilentlyContinue -Force




powershell-v2.0