-1

Я пытаюсь создать файл 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 ответ1

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\"

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .