में कई स्ट्रिंग्स को ठीक से कैसे ठीक करें फ़ाइल फ़ाइल कॉपी करने के लिए मैं this answer से PowerShell स्क्रिप्ट का उपयोग कर रहा हूं। समस्या उत्पन्न होती है जब मैं फ़िल्टर का उपयोग कर एकाधिक फ़ाइल प्रकारों को शामिल करना चाहता हूं।PowerShell कॉपी स्क्रिप्ट
Get-ChildItem $originalPath -filter "*.htm" | `
foreach{ $targetFile = $htmPath + $_.FullName.SubString($originalPath.Length); `
New-Item -ItemType File -Path $targetFile -Force; `
Copy-Item $_.FullName -destination $targetFile }
एक सपने की तरह काम करता है। हालांकि, समस्या उत्पन्न होती है जब मैं फ़िल्टर का उपयोग कर एकाधिक फ़ाइल प्रकारों को शामिल करना चाहता हूं।
Get-ChildItem : Cannot convert 'System.Object[]' to the type 'System.String' required by parameter 'Filter'. Specified method is not supported.
At F:\data\foo\CGM.ps1:121 char:36
+ Get-ChildItem $originalPath -filter <<<< "*.gif","*.jpg","*.xls*","*.doc*","*.pdf*","*.wav*",".ppt*" | `
+ CategoryInfo : InvalidArgument: (:) [Get-ChildItem], ParameterBindingException
+ FullyQualifiedErrorId : CannotConvertArgument,Microsoft.PowerShell.Commands.GetChildItemCommand
मैं कोष्ठकों के विभिन्न पुनरावृत्तियों है, कोई कोष्ठक, -filter
, -include
, चर के रूप में परिभाषित करने समावेशन (जैसे, $fileFilter
) और हर बार ऊपर मिलती है:
Get-ChildItem $originalPath `
-filter "*.gif","*.jpg","*.xls*","*.doc*","*.pdf*","*.wav*",".ppt*") | `
foreach{ $targetFile = $htmPath + $_.FullName.SubString($originalPath.Length); `
New-Item -ItemType File -Path $targetFile -Force; `
Copy-Item $_.FullName -destination $targetFile }
मुझे निम्न त्रुटि देता है त्रुटि, और हमेशा -filter
का पालन करने के लिए इंगित करता है।
उस पर दिलचस्प अपवाद है जब मैं -filter "*.gif,*.jpg,*.xls*,*.doc*,*.pdf*,*.wav*,*.ppt*"
कोड करता हूं। कोई त्रुटि नहीं है, लेकिन मुझे और कोई परिणाम नहीं मिला और कंसोल पर कुछ भी नहीं मिला। मुझे संदेह है कि मैंने अनजाने में उस वक्तव्य के साथ and
को निष्क्रिय किया है?
तो मैं गलत क्या कर रहा हूं, और मैं इसे कैसे ठीक कर सकता हूं?
वूहू! कि '\ *' चाल ने अभी तक लगभग छह समस्याएं हल की हैं। बहुत बढ़िया और धन्यवाद! – dwwilson66
बहुत बढ़िया, कि \\ * चाल ने मेरा बनाया है सप्ताह। –
ध्यान दें कि '-रिक्सर' निर्दिष्ट होने पर वाइल्डकार्ड ('\ *') की आवश्यकता नहीं है। –