MVV

|
Posted: Mon Jul 22, 2013 15:11 Post subject: |
|
|
Сохранить как copy_over_name_by_size.cmd и перетащить на панель инструментов, потом в свойствах прописать параметры %WL %T.
Code: | @echo off
title copy_over_name_by_size
if -%1==- echo Parameters: %%WL %%T & pause & goto :EOF
set tmpsetfile="%temp%\~$tmpsetfile$~.tmp"
for /f "usebackq delims=" %%f in (`type %1`) do call :copy_find_same "%%f" %2
del %tmpsetfile%
pause
goto :EOF
:copy_find_same
dir /b "%~2\%~n1.*" 1>%tmpsetfile% 2>nul
if errorlevel 1 call :copy_do %1 "%~2\%~nx1" & goto :EOF
set /p samenametarget=<%tmpsetfile%
call :copy_check_size %1 "%~2\%~nx1" "%~2\%samenametarget%"
goto :EOF
:copy_check_size
if %~z3 LEQ %~z1 goto :EOF
attrib -r %3
del %3
:copy_do
echo %~nx1
copy %1 %2
goto :EOF
|
Затем выделить файлы для копирования и нажать кнопку (в неактивной панели должна быть открыта папка назначения). Для каждого копируемого файла в папке назначения ищется файл с таким же именем (без учета расширения), если его размер меньше размера копируемого файла, файл пропускается, иначе - копируется (при этом соответствующий файл в папке назначения будет удаляться). _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|