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
Jonmey



PostPosted: Thu Dec 23, 2010 13:40    Post subject: Reply with quote

Обнаружилась маленькая проблема при работе скрипта, если имя папки содержит точку, то имена файлов контрольных сумм, архивов и создаваемых папок не содержат той части имени, которая идет после точки в названии папки верхнего уровня. Sad
Не знаю, насколько это правильно, но для решения этой проблемы я заменил все %~n1 на %~nx1

И еще есть некоторая проблема, если папка верхнего уровня содержит архив одноименный тому, в который упаковывается бэкап (то есть одноименный с папкой верхнего уровня). Каким-то корявым образом решил это так:
Code:
rem Пример параметров для ТС: %L "%T"
@echo off & chcp 1251 >NUL
setlocal enableextensions

set "src=%~1"
set "dest=%~2"
for /f "delims=" %%d in (%src%) do call :d "%%d."
goto :eof

:d
cd /d %1
rhash.exe -r -M --ansi *.* >"%~nx1.md5"
if exist "%~nx1.rar" winrar.exe a "-cpBackup" "%~nx1.bak.rar" "*.*"
if not exist "%~nx1.rar" winrar.exe a "-cpBackup" "%~nx1.rar" "*.*"
if not exist "%dest%%~nx1" md "%dest%%~nx1"
if exist "%~nx1.bak.rar" (
  if exist "%~nx1.rar" (
    move "%~nx1.bak.rar" "%dest%%~nx1"
    goto :eof
)
)
move "%~nx1.rar" "%dest%%~nx1"
goto :eof
View user's profile Send private message ICQ Number


Powered by phpBB © 2001, 2005 phpBB Group