Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Копирование файлов по образцу. (http://forum.oszone.net/showthread.php?t=320795)

Altollis 14-11-2016 23:26 2687596

Копирование файлов по образцу.
 
Есть два каталога. Один с исходными фотографиями "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 2687611

Попробуйте так:
Скрытый текст
Код:

@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 2687636

Спасибо, работает! Сейчас буду понимать, как)


Время: 22:29.

Время: 22:29.
© OSzone.net 2001-