2014-09-25 10 views
10

में कॉपी-आइटम वाली फ़ाइलों को ओवरराइट करने के लिए मैं एक फ़ोल्डर की सामग्री कॉपी करने की कोशिश कर रहा हूं, लेकिन दो फाइलें हैं जिन्हें मैं बाहर करना चाहता हूं। बाकी सभी सामग्री को एक नए स्थान पर कॉपी किया जाना चाहिए और उस नए स्थान पर मौजूदा सामग्री को ओवरराइट किया जाना चाहिए।PowerShell

यह मेरी लिपि है। यह ठीक काम करता है अगर मेरा गंतव्य फ़ोल्डर खाली है, लेकिन अगर मेरे पास फाइलें और फ़ोल्डर हैं, तो यह उन्हें ओवरराइट नहीं करता है।

$copyAdmin = $unzipAdmin + "/Content/*" 
$exclude = @('Web.config','Deploy') 
Copy-Item -Path $copyAdmin -Destination $AdminPath -Exclude $exclude -Recurse -force 
+2

के लिए क्यों नहीं का उपयोग [लड़ी] (http://technet.microsoft.com/en-us/library/cc733145.aspx) के बजाय? – vonPryz

+0

यह काम करना चाहिए..क्या कोई त्रुटि संदेश है? यदि यह तैनाती स्क्रिप्ट का हिस्सा है, तो प्रतिलिपि बनाने के बाद फ़ाइलें लॉक हो जाएंगी (यदि आईआईएस/वेबसाइट शुरू हुई तो क्या होगा)। – Raf

+0

संभावित डुप्लिकेट [स्रोत निर्देशिका से फ़ाइलों को लक्षित निर्देशिका में कॉपी करें और निर्दिष्ट निर्देशिकाओं से विशिष्ट फ़ाइल प्रकारों को बाहर निकालें] (http://stackoverflow.com/questions/18771291/copy-files-from-source-directory-to-target- निर्देशिका -और-बहिष्कृत-विशिष्ट-फ़ाइल-टी) –

उत्तर

14

जैसा कि मैं Copy-Item -Exclude समझता हूं तो आप इसे सही कर रहे हैं। क्या मैं आमतौर पर करते हैं, 1'st मिलता है, और फिर तो क्या

Get-Item -Path $copyAdmin -Exclude $exclude | 
Copy-Item -Path $copyAdmin -Destination $AdminPath -Recurse -force 
+0

धन्यवाद इसने – srk786

+0

काम किया है, मदद करने में खुशी है। –

5

लड़ी कई प्रतिलिपि विकल्पों के साथ विश्वसनीय प्रतिलिपि बनाने के लिए डिज़ाइन किया गया है के रूप में Get-Item उपयोग के बारे में, फ़ाइल चयन को पुनः आरंभ आदि /xf फ़ाइलों /e शामिल नहीं करने के लिए के बाद करते हैं, उपनिर्देशिका

robocopy $copyAdmin $AdminPath /e /xf "web.config" "Deploy"

+0

शायद ओपी की तलाश में नहीं था, लेकिन इससे मुझे मदद मिली :-) – Rob

+0

एक पथ से दूसरी ओर कॉपी करें ('$ copyAdmin $ AdminPath')'/xf' स्विच परिभाषित करता है कि कौन सी फाइलें 'web.config' और 'तैनाती' – clD