2012-02-24 17 views
13

जब मैं एक ऐसे फ़ोल्डर से एक रिकर्सिव कॉपी-आइटम चलाता हूं जिसमें मूल फ़ोल्डर के समान उप फ़ोल्डर्स वाले उप फ़ोल्डर होते हैं, तो उप-फ़ोल्डर्स में त्रुटि होती है पहले से ही मौजूद। मैं इसे कैसे दबा सकता हूं क्योंकि यह एक झूठा नकारात्मक है और वास्तविक असफलताओं को देखने में कठोर बना सकता है।पावरहेल दबाएं कॉपी-आइटम 'फ़ोल्डर पहले से मौजूद है' त्रुटि

उदाहरण:

Copy-Item "C:\realFolder\*" "C:\realFolder_new" -recurse 

Copy-Item : Item with specified name C:\realFolder_new\subFolder already exists. 

धन्यवाद।

-जिम

+0

जोड़ना -फोर्स समस्या को हल करता है? –

उत्तर

14

आप किसी भी त्रुटि होने पर कब्जा करने की कोशिश कर सकते हैं, और फिर तय करें कि आप या नहीं इसके बारे में परवाह:

copy-item "C:\realFolder\*" "C:\realFolder_new" -recurse -ErrorVariable capturedErrors -ErrorAction SilentlyContinue 
$capturedErrors | foreach-object { if ($_ -notmatch "already exists") { write-error $_ } } 
+0

धन्यवाद, यह काम करता है। अंत में इसे लागू करने और आज परीक्षण करने का मौका मिला :) – user1161625

7

आप व्यवहार से निपटने का उपयोग कर अनदेखी करने के लिए त्रुटि सेट कर सकते हैं:

Copy-Item "C:\realFolder\*" "C:\realFolder_new" -recurse -ErrorAction SilentlyContinue 

हालांकि यह भी त्रुटियों आप के बारे में जानना चाहता था दबाने होगा!

+0

हाँ ... कि केवल सॉर्टा मदद करता है :) क्या कॉपी-आइटम cmdlet में पहले से मौजूद एक बग मौजूद है? आउटपुट की बर्बादी की तरह लगता है- अगर यह पहले से ही है और मैं इसे बनाने वाला था तो कौन परवाह करता है .. कम से कम मुझे एक -लिएंटऑन एक्सस्टिंगडिड्स या -वरबोज स्विच दें, है ना? हालांकि आपकी मदद के लिए धन्यवाद .. मैं उस विकल्प के बारे में सोचूंगा। – user1161625

5

आप अपने आदेश को -Force जोड़ देते हैं तो यह मौजूदा फ़ोल्डरों के ऊपर लिख देगा और आप नहीं देखेंगे त्रुटि।

Copy-Item "C:\realFolder\*" "C:\realFolder_new" -recurse -Force 
संबंधित मुद्दे