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: Автопереименование файлов при копировании на FTP 
Author Message
Tol!k



PostPosted: Mon Feb 14, 2011 13:05    Post subject: Reply with quote

Code:
@echo off &setlocal enableextensions
rem   Параметры: <список_файлов> <хост> <удалённая_папка>
rem   например : %L ftp.web.com "pub/web/base/"
rem   Удалённая папка должна существовать
rem   Автор    : Tol!k

set "prefix=file"
rem   Цифр после префикса (надеюсь, 9 хватит):
set "nums=4"

set "host=%~2"
set "remote=%~3"
set /p user=User:
set /p pass=Password:

>get.list.tmp echo user %user% %pass%
>>get.list.tmp echo cd %remote%
>>get.list.tmp echo ls %prefix%* ftp.list.tmp
>>get.list.tmp echo bye
ftp -n -v -s:get.list.tmp %host%
del /q get.list.tmp
set "digs="
for /l %%i in (1,1,%nums%) do call set "digs=%%digs%%[0-9]"
for /f "delims=" %%n in (
'sort /r ftp.list.tmp ^|findstr /rc:"^%prefix%%digs%\..*"'
) do (set "last=%%~nn" &goto :next)
:next
call set "last=%%last:%prefix%=%%"
if "%last:~0,1%"=="0" call :loop
if "%last%"=="" set "last=0"

>put.list.tmp echo user %user% %pass%
>>put.list.tmp echo cd %remote%
for /f "usebackq delims=" %%l in ("%~1") do call :put "%%l"
>>put.list.tmp echo bye
ftp -n -v -s:put.list.tmp %host%
del /q put.list.tmp ftp.list.tmp
pause
goto :eof

:put
set /a last+=1
set "next=000000000%last%"
>>put.list.tmp call echo put %1 "%prefix%%%next:~-%nums%%%%~x1"
rem   Если нужно менять и расширение тоже:
rem >>put.list.tmp call echo put %1 "%prefix%%%next:~-%nums%%%.ext"
goto :eof

:loop
set "last=%last:~1,9%"
if "%last:~0,1%"=="0" call :loop
goto :eof


Last edited by Tol!k on Wed Feb 23, 2011 12:48; edited 1 time in total
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group