Xcopy "मापदंडों की अमान्य संख्या" क्यों लौटा रहा है?


10

कुछ परिस्थितियों में, xcopy Invalid number of parametersआपको कोई सुराग दिए बिना त्रुटि वापस कर देगा कि क्या चल रहा है। इसका सामान्य समाधान यह सुनिश्चित करना है कि आपके फ़ाइलनाम को उद्धरणों में संलग्न किया गया है, क्योंकि यह बैच फ़ाइलों के साथ एक समस्या हो सकती है, जहां आपको कुछ पसंद है xcopy %1 %2और आपको वास्तव में आवश्यकता है xcopy "%1" "%2"। मैं हाल ही में एक समस्या में भाग गया, हालांकि, जहां समस्या रिक्त स्थान नहीं थी:

C:\Temp\foo>c:/windows/system32/xcopy.exe /f /r /i /d /y * ..\bar\
Invalid number of parameters

जवाबों:


14

इस एक के लिए समाधान मुश्किल था: यह पता चला है कि xcopy अपने स्वयं के बाइनरी में पथ में आगे की स्लैश को पार्स कर रहा है। यह ठीक काम करता है:

C:\Temp\foo>c:\windows\system32\xcopy.exe /f /r /i /d /y * ..\bar\
C:\Temp\foo\blah -> C:\Temp\bar\blah
1 File(s) copied

यदि आप PATHबैकस्लैश के बजाय फ़ॉरवर्ड स्लैश का उपयोग करके परिभाषित करते हैं, तो आप इसमें भी दौड़ सकते हैं ।


यदि आप इसे एक के रूप में उपयोग कर रहे हैं Post-build event, तो आपको यह सुनिश्चित करना होगा कि आपने पूर्ण पथ के चारों ओर उद्धरण दिए हैं $(TargetDir), क्योंकि पथ में स्थान हो सकते हैं:xcopy "$(TargetDir)*.dll" ..\..\Project.Web\bin
हाईमास्टडन

1
यह तब भी हो सकता है जब आपके पास सोर्स या डेस्टिनेशन पाथ में स्लैश हो। बस xcopy से गुजरने वाले सभी मार्ग में बैकस्लैश के साथ सभी फ़ॉरवर्ड स्लैश को बदलें!
जुराज पेट्रीक

0

मेरी खोज यह थी कि मुझे विकल्पों पर डबल फॉरवर्ड स्लैश की आवश्यकता थी

c:\windows\system32\xcopy.exe //f //r //i //d //y * "..\bar\"
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.