Пакет: для вывода / f + xcopy - Сохранить в .log - PullRequest
1 голос
/ 08 июня 2011

У меня есть следующий скрипт, и он мне нужен для сохранения всех копий выходных файлов xcopy в один файл журнала,

:tmdeploy
title Deploying Edithor - %deployer%
set src_folder=S:\ApliTelinver\Compilacion\Edithor 10.5\CompilacionQA
set dst_folder=S:\ApliTelinver\Ambientes-Edithor\Sincronizacion\Test\Test-Mantenimiento
set filelist=filelist-tm.txt
echo Origen: %src_folder%
echo Destino: %dst_folder%
echo.
REM for /f %%i in (%filelist%) DO xcopy /S/E/U/Y "%src_folder%\%%i" "%dst_folder%" > "%dd%.log"
for /f "delims=" %%i in (%filelist%) do (
    xcopy /S/E/U/Y "%src_folder%\%%i" "%dst_folder%" > "%dd%.log"
)
echo.
pause
goto end

Проблема в том, что я получаю только последнюю копию файла в выходных данных.А как правильно сделать отметку времени для файла .log?

Спасибо

1 Ответ

4 голосов
/ 08 июня 2011

Вы должны использовать добавленный оператор перенаправления, >> вместо >.

Итак, ваш цикл for будет выглядеть следующим образом:

REM for /f %%i in (%filelist%) DO xcopy /S/E/U/Y "%src_folder%\%%i" "%dst_folder%" >> "%dd%.log"
for /f "delims=" %%i in (%filelist%) do (
    xcopy /S/E/U/Y "%src_folder%\%%i" "%dst_folder%" >> "%dd%.log"
)
...