Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Копирование с переименовыванием по счетчику 
Author Message
Tol!k



PostPosted: Sun Dec 25, 2011 19:32    Post subject: Reply with quote

к http://forum.wincmd.ru/viewpost.php?p=62914 добавил перемещение
Code:
@echo off &setlocal enableextensions &chcp 1251 >nul
rem  Копирование файлов и папок с переименованием по счётчику
rem  Параметры: %L "D:\куда\" "Приставка_"
rem             %L "%T" "" -m
rem  -m — удалять источник
rem  Автор: Tol!k

set "trg=%~2" &set "pref=%~3"
if "%~4"=="-m" set "move=Yes"
for /f "usebackq delims=" %%f in ("%~1") do call :p "%%f"
goto :eof

:p
set "name=%~1" &set "ext=%~x1"
set /a n=0
call :loop 1000 &set /a n-=1000
call :loop 100 &set /a n-=100
call :loop 10 &set /a n-=10
call :loop 1
title "%new%"

if "%name:~-1%"=="\" (
  xcopy "%name%*" "%trg%\%new%" /i /e /k/r/h >nul &&if "%move%"=="Yes" rd /s /q %1
) else (
  echo f| xcopy %1 "%trg%\%new%" /k/r/h >nul &&if "%move%"=="Yes" del /f /q %1
)
goto :eof

:loop
if "%n%"=="9999" (
  title STOP
  echo 9999 единиц в месте назначения,
  echo недостаточно разрядности счётчика.
  pause >nul &exit /b 9
)
set /a n+=%1
set "e=000%n%"
set "e=%e:~-4%"
set "new=%pref%%e%%ext%"
if exist "%trg%\%new%" call :loop %1
goto :eof

View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group