Войти

Показать полную графическую версию : [решено] Копирование файлов по образцу.


Altollis
14-11-2016, 23:26
Есть два каталога. Один с исходными фотографиями "I:\DCIM\", второй с обработанными "L:\Pict\". В первом файлы:
IMGP0001.DNG
IMGP0002.DNG
IMGP0003.DNG
IMGP0004.DNG
IMGP0005.DNG

Во втором:
IMGP0002.jpg
IMGP0004.jpg
IMGP0005.jpg

Как автоматизировать процесс копирования соответствующих исходников в папку? т.е. необходимо получить во втором каталоге набор файлов:
IMGP0002.jpg
IMGP0002.DNG
IMGP0004.jpg
IMGP0004.DNG
IMGP0005.jpg
IMGP0005.DNG

Естественно, в реальности исходных файлов не пять и даже не пятьсот. Предпочтение по реализации — bat, благо в них хоть как разбираюсь.

Iska
15-11-2016, 00:05
Попробуйте так:
@echo off
setlocal enableextensions enabledelayedexpansion

set sSourceFolder=I:\DCIM
set sDestFolder=L:\Pict

for /f "usebackq delims=" %%i in (
`2^>nul dir /b /a:-d "%sDestFolder%\*.jpg"`
) do if exist "%sSourceFolder%\%%~ni.DNG" (
>nul 2>&1 copy /y "%sSourceFolder%\%%~ni.DNG" "%sDestFolder%\" && (
echo Copy [%%~ni.DNG] from [%sSourceFolder%] into [%sDestFolder%].
) || (
echo Can't copy [%%~ni.DNG] from [%sSourceFolder%] into [%sDestFolder%].
)
) else (
echo Not found associated file [%%~ni.DNG] in [%sSourceFolder%].
)

endlocal
exit /b 0

Altollis
15-11-2016, 00:38
Спасибо, работает! Сейчас буду понимать, как)




© OSzone.net 2001-2012