Я использую этот код ниже для копирования файлов из списка. Все работает, но не работает, если файлы не имеют расширения. Я не знаю, как это исправить.
@echo off
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
SET "src=T:\CNC-Related\CNC Programs\Biesse\Rover346\01 MAIN\S-LINE\SLE"
SET "dst=U:\Users\Edimar\PROJECTS\REPLACE LOCKING BAR\CST640\S-Line\PROGRAM\R346"
SET "file_list=.\files.txt"
SET "out=.\result.log"
echo > %out%
FOR /F "usebackq eol=| delims=" %%f IN ("%file_list%") DO (
rem just searching to find out existense of file
WHERE /Q /R %src% "%%f"
IF "!ERRORLEVEL!" == "0" (
FOR /F "usebackq eol=| delims=" %%s IN (`WHERE /R %src% "%%f"`) DO (
echo "%%s => %dst%\%%f" >> %out%
@Xcopy /y "%%s" "%dst%\%%f"
)
) ELSE (
echo %%f is not found! >> %out%
)
)
@echo off
, вы сможете точно увидеть, какие команды выполняются. - person lit   schedule 20.07.2017copy
вместоxcopy
, потому чтоxcopy
может спросить:Does [...] specify a file name or directory name on the target (F = file, D = directory)?
как на моем компьютере. См. Также здесь: stackoverflow.com/questions/3018289/. Далее строкаecho > %out%
не очищает файл, но записывает текущее состояниеecho
в файл. Используйтеbreak>%out%
, чтобы очистить файл. - person Andre Kampling   schedule 20.07.2017REM
ed весь код и ошибка. - person   schedule 21.07.2017