पॉवर्सशेल कॉपी-आइटम, दूरस्थ पीसी से दूरस्थ पीसी तक


2

मैं एक सर्वर और एक पीसी (दोनों को दूरस्थ रूप से) से एक फ़ोल्डर और सबफ़ोल्डर कॉपी करने की कोशिश कर रहा हूं।

$source='\\\server1\folder\\*'
$destination='\\\PC1\c$\temp\folder'
copy-item -path $source -destination $destination -recurse -force

यदि मैं इसे एक बार करता हूं, तो यह एक त्रुटि पैदा करता है, लेकिन अगर मैं फिर से वही कमांड चलाता हूं, तो यह त्रुटि के बिना पूरा होता है

त्रुटि इसके कई उदाहरण हैं:

copy-item : container cannot be copied onto existing leaf item.
%
%
%
     + categoryinfo    : Invalidargument: (\\server1\folder:string) [copy-item] PSargumentexception
    +FullyQualifiedErrrId : CopyContainerItemToLeafError,Microsoft.powershell.Commands.CopyItemCommand

जैसा कि मैंने कहा कि यह बिना त्रुटि के पूरा होता है दूसरी बार जब मैं कमांड चलाता हूं मैं क्या गलत कर रहा हूं जो पहले रन पर त्रुटि करता है?


3
के साथ कमांड का प्रयास करें $source='\\server1\folder' तारांकन के बजाय ऐसा ही है और देखें कि क्या होता है आप भी आजमा सकते हैं Copy-Item -Recurse -Filter *.* -path $source -destination $destination -Force और उपयोग करें -Filter वाइल्डकार्ड स्ट्रिंग पैटर्न के लिए, आदि।
Pimp Juice IT

जवाबों:


1

स्रोत चर को इस तरह सेट करें $source='\\server1\folder' और तारांकन को बाहर करें ( * ) वहाँ से जैसे कि यह उदाहरण में दिया गया है। आपको बैकस्लैश से बचने की आवश्यकता नहीं है ( \ ) अतिरिक्त बैकस्लैश वाले वर्ण UNC पथों में अतिरिक्त बैकस्लैश को भी छोड़ देते हैं।

उपयोग करने पर विचार करें

$source='\\server1\folder'
$destination='\\PC1\c$\temp\folder'
Copy-Item -Recurse -Filter *.* -path $source -destination $destination -Force

ध्यान दें: उपयोग -Filter वाइल्डकार्ड स्ट्रिंग पैटर्न के लिए, आदि।


आगे के संसाधन

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.