Xcopy neden “geçersiz parametre sayısı” döndürüyor?


10

Bazı durumlarda, xcopy Invalid number of parametersneler olup bittiğine dair bir ipucu vermeden hatayı döndürür . Bunun olağan çözümü, dosya adlarınızın tırnak işaretleri içine alındığından emin olmaktır, çünkü bu sizin gibi bir şeye sahip olduğunuz xcopy %1 %2ve gerçekten ihtiyacınız olan toplu iş dosyalarıyla ilgili bir sorun olabilir xcopy "%1" "%2". Son zamanlarda, sorunun boşluk olmadığı bir sorunla karşılaştım:

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

Yanıtlar:


14

Bunun çözümü zor oldu: xcopy'nin kendi ikili yolundaki eğik çizgileri ayrıştırdığı ortaya çıktı. Bu iyi çalışıyor:

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

PATHTers eğik çizgiler yerine eğik çizgi kullanarak tanımlamışsanız buna da girebilirsiniz .


Ayrıca bunu a olarak kullanıyorsanız , yolda boşluklar olabileceğinden, Post-build eventtam yoluna tırnak koyduğunuzdan emin olmalısınız $(TargetDir):xcopy "$(TargetDir)*.dll" ..\..\Project.Web\bin
Highmastdon

1
Bu, Kaynak veya Hedef Yolu'nda eğik çizgiler varsa da olabilir. Xcopy'ye ilettiğiniz tüm yoldaki tüm eğik çizgileri ters eğik çizgilerle değiştirin!
Juraj Petrik

0

Keşfim, seçenekler üzerinde çift eğik çizgi kullanmam gerekti

c:\windows\system32\xcopy.exe //f //r //i //d //y * "..\bar\"
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.