PDA

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


Anufriev
02-10-2014, 10:10
Добрый день!

есть элементарные команды copy и move, которые копируют и перекладывают все файлы по маске, вопрос, как сделать, что бы они обработали только один файл с этой маской, а второй не тронули, при следующем запуске батника, обработался бы следующий файл?


rem если есть файл *EID* операции с файлами не выполнять
dir \\rsbank\ITBObmen\External\MCI\LOAD_EID\*EID*.ed /a-d 2>nul >nul && goto 18
goto 171

:171
copy \\rsbank\ITBObmen\External\MCI\LOAD\*EID*.ed \\rsbank\rs-bank_adm\TxtFile
move \\rsbank\ITBObmen\External\MCI\LOAD\*EID*.ed \\rsbank\ITBObmen\External\MCI\LOAD_EID
goto 18
:18

Iska
02-10-2014, 11:39
rem если есть файл *EID* операции с файлами не выполнять »
В Вашем коде — как раз «выполнять». Поясните, как это согласуется с:
обработали только один файл с этой маской »
?

Anufriev
02-10-2014, 11:57
извиняюсь, это я опечатался, поправил

но при таком батнике, в случае, если в конечном каталоге не будет файла то он скопирует все файлы, а мне нужно, что бы по одному это делал:(

Iska
02-10-2014, 12:35
Как-то так:
@echo off
setlocal enableextensions enabledelayedexpansion

set sDestFolder=\\rsbank\ITBObmen\External\MCI\LOAD_EID
set sSourceFolder=\\rsbank\ITBObmen\External\MCI\LOAD
set sArcFolder=\\rsbank\rs-bank_adm\TxtFile
set sMask=*EID*.ed

if exist "%sDestFolder%\." (
if exist "%sSourceFolder%\." (
if exist "%sArcFolder%\." (
>nul 2>&1 dir /b /a:-d "%sDestFolder%\%sMask%" || (
for /f "usebackq delims=" %%i in (
`2^>nul dir /b /a:-d "%sSourceFolder%\%sMask%"`
) do (
if not defined iTrigger (
set /a iTrigger = 1

>nul copy "%sSourceFolder%\%%~i" "%sArcFolder%\"
>nul move "%sSourceFolder%\%%~i" "%sDestFolder%\"
)
)
)
) else (
echo Can't find archive's folder [%sArcFolder%].
exit /b 3
)
) else (
echo Can't find source folder [%sSourceFolder%].
exit /b 2
)
) else (
echo Can't find destination folder [%sDestFolder%].
exit /b 1
)

endlocal
exit /b 0

Anufriev
02-10-2014, 12:58
спасибо огромное, батник работает как часики, как бы я жил без Вас, уважаемый Iska:)




© OSzone.net 2001-2012