Xcopy - Неверное количество параметров

Xcopy - Неверное количество параметров

Я пытаюсь создать bat-файл, который переместит некоторые файлы ECF из папки в новую папку.

Я успешно настроил bat-файл XCopy для других документов (.doc, .ppt) и т. д., скопировал текст из рабочего bat-файла XCopy и изменил *.doc на *.ecf.

@ECHO OFF

cd C:\Users\Alex.Newton\Documents\Fixes\ProgramName\Binaries
REM This is will copy over .doc documents
FOR %%f IN (*.ecf) DO XCOPY "C:\Users\Alex.Newton\Documents\Fixes\ProgramName\Binaries" "%%f" "C:\Users\Alex.Newton\Documents\Fixes\ProgramName\"
PAUSE

Неверное количество параметров встречается 9 раз, и именно столько существует файлов ECF. Похоже, что он их обнаруживает, но не копирует?

решение1

Неверное количество параметров

У вас есть:

cd C:\Users\Alex.Newton\Documents\Fixes\ProgramName\Binaries
FOR %%f IN (*.ecf) DO XCOPY "C:\Users\Alex.Newton\Documents\Fixes\ProgramName\Binaries" "%%f" "C:\Users\Alex.Newton\Documents\Fixes\ProgramName\"

Приведенная выше xcopyкоманда имеет три аргумента:

"C:\Users\Alex.Newton\Documents\Fixes\ProgramName\Binaries"
"%%f" 
"C:\Users\Alex.Newton\Documents\Fixes\ProgramName\"

Синтаксис xcopy:

XCOPY source [destination] [options]

Ваш третий аргумент:нетвариант (см.xcopy).


Правильный способ вызова xopy

Поскольку вы уже находитесь в нужном каталоге, C:\Users\Alex.Newton\Documents\Fixes\ProgramName\Binariesвам не нужен первый аргумент.

FOR %%f IN (*.ecf) DO XCOPY "%%f" "C:\Users\Alex.Newton\Documents\Fixes\ProgramName\"

Или:

FOR %%f IN (*.ecf) DO XCOPY "C:\Users\Alex.Newton\Documents\Fixes\ProgramName\Binaries\%%f" "C:\Users\Alex.Newton\Documents\Fixes\ProgramName\"

Дальнейшее чтение

  • Индекс AZ командной строки Windows CMD- Отличный справочник по всем вопросам, связанным с командной строкой Windows.
  • для /ф- Циклическая команда по результатам другой команды.
  • xcopy- Копировать файлы и/или деревья каталогов в другую папку.

Связанный контент