2015-10-28 2 views
0

Я работаю над пакетным файлом, чтобы скопировать некоторые файлы из одной папки в другую. Если я определяю пути в пакете, команда xcopy не будет работать. Если я не определяю переменные, команда xcopy работает нормально.xcopy не распознается, когда переменные определены в пакетном файле

Пример 1, это не будет работать:

@echo off 
set pathA=C:\xx\kk 
set pathB=C:\xx\mm 
xcopy "%pathA%\*.doc" "%pathB%" 

Пример 2, это будет работать:

@echo off 
xcopy "C:\xx\kk\*.doc" "C:\xx\mm" 

Пути Я работаю с, очень долго, и поэтому я хотел бы определяйте их как переменные и избегайте писать их каждый раз, когда я их использую.

Вы, ребята, знаете, почему xcopy не работает в примере 1 и что я могу сделать для его решения?

Спасибо!

+0

Начните с удаления 'echo off' из вашей партии и на самом деле глядя на то, что CMD пытается вам рассказать. Если вы все еще запутались, отредактируйте свой вопрос, чтобы включить полный вывод * без * эхо-строки. –

+1

Хорошо работает для меня. –

+0

Привет, Райан, спасибо за ваш ответ. «CMD msg is« xcopy не распознается как внутренняя или внешняя команда ... »Однако xcopy работает правильно, если я не ставил пути в качестве переменных в верхней части пакета. Любое предложение? –

ответ

0

Проблема была как-то обратная косая черта при настройке переменных. Я просто установить переменные, как:

set pathA=C:\xx\kk\ set pathB=C:\xx\mm\

и называют XCOPY как:

xcopy "%pathA%*.doc" "%pathB%" /S /E /Y

Еще не знаю, почему, но теперь он работает хорошо!

Еще раз спасибо за помощь!