Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd)

Модерирует : gyra, Maz

Widok (03-03-2010 16:29): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

Cosmogor



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
REM @ECHO OFF
Chcp 1251>nul
 
REM Поиск доступных дисков
setlocal enabledelayedexpansion
for %%d in (b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do dir %%d:>nul 2>&1 && set zz=%%d
 
REM Проверка на наличие папки Backup
IF EXIST "%zz%:\Backup" GOTO TMP_TMP
IF NOT EXIST "%zz%:\Backup" GOTO MD
EXIT
 
:TMP_TMP
REM Проверка на наличие файла TMP.TMP
IF EXIST "%zz%:\Backup\TMP.TMP" GOTO FC
IF NOT EXIST "%zz%:\Backup\TMP.TMP" GOTO D_TMP
EXIT
 
:MD  
REM Создание папки Backup
MD "%zz%:\Backup"
GOTO D_TMP
EXIT
 
_TMP
rem вычисление дня недели для Windows 2000 (в XP должна тоже работать)
rem начиная с 2001г. по 2099г. включительно (алгоритм тестировался в Еxcel)
rem в конце вычислений %dD% содержит день недели: 0 - понедельник .. 6 - воскресенье
rem by othy
setlocal
SET dt=%Date%
SET dY=%dt:~-2%
SET dD=%dt:~-10,2%
SET dM=%dt:~-7,2%
If "%dD:~0,1%" == "0" Set dD=%dD:~1,1%
If "%dM:~0,1%" == "0" Set dM=%dM:~1,1%
If "%dY:~0,1%" == "0" Set dY=%dY:~1,1%
SET /A fY="dY & 0x03"
If %dM%==1 (If %fY%==0 (Set /A dD+=4) else Set /A dD+=5)
If %dM%==2 (If %fY%==0 (Set /A dD+=7) else Set /A dD+=8)
If %dM%==3 (Set /A dD+=8)
If %dM%==4 (Set /A dD+=11)
If %dM%==5 (Set /A dD+=6)
If %dM%==6 (Set /A dD+=9)
If %dM%==7 (Set /A dD+=11)
If %dM%==8 (Set /A dD+=7)
If %dM%==9 (Set /A dD+=10)
If %dM%==10 (Set /A dD+=5)
If %dM%==11 (Set /A dD+=8)
If %dM%==12 (Set /A dD+=10)
SET /A dD=(dD+dY/4+dY) %% 0x07
echo %dD% >"%zz%:\Backup\TMP.TMP"
endlocal
GOTO RAR
EXIT
 
:FC
rem вычисление дня недели для Windows 2000 (в XP должна тоже работать)
rem начиная с 2001г. по 2099г. включительно (алгоритм тестировался в Еxcel)
rem в конце вычислений %dD% содержит день недели: 0 - понедельник .. 6 - воскресенье
rem by othy
setlocal
SET dt=%Date%
SET dY=%dt:~-2%
SET dD=%dt:~-10,2%
SET dM=%dt:~-7,2%
If "%dD:~0,1%" == "0" Set dD=%dD:~1,1%
If "%dM:~0,1%" == "0" Set dM=%dM:~1,1%
If "%dY:~0,1%" == "0" Set dY=%dY:~1,1%
SET /A fY="dY & 0x03"
If %dM%==1 (If %fY%==0 (Set /A dD+=4) else Set /A dD+=5)
If %dM%==2 (If %fY%==0 (Set /A dD+=7) else Set /A dD+=8)
If %dM%==3 (Set /A dD+=8)
If %dM%==4 (Set /A dD+=11)
If %dM%==5 (Set /A dD+=6)
If %dM%==6 (Set /A dD+=9)
If %dM%==7 (Set /A dD+=11)
If %dM%==8 (Set /A dD+=7)
If %dM%==9 (Set /A dD+=10)
If %dM%==10 (Set /A dD+=5)
If %dM%==11 (Set /A dD+=8)
If %dM%==12 (Set /A dD+=10)
SET /A dD=(dD+dY/4+dY) %% 0x07
echo %dD% >"%zz%:\Backup\D.TMP"
endlocal
fc /l "%zz%:\Backup\D.TMP" "%zz%:\Backup\TMP.TMP"  
if not errorlevel 1 GOTO EXIT
GOTO NO
EXIT
 
:EXIT
msg * Сегодняшние архивы есть, выходим!.
DEL /Q "%zz%:\Backup\TMP.TMP"
REN "%zz%:\Backup\D.TMP" "TMP.TMP"
EXIT
 
:NO
FORFILES /p "%zz%:\Backup" /m *.rar /d -3 /c "cmd /c del /f /q @file"
DEL /Q "%zz%:\Backup\TMP.TMP"
REN "%zz%:\Backup\D.TMP" "TMP.TMP"
GOTO RAR
EXIT
 
:RAR
RAR.EXE a "%zz%:\Backup\Рабочий_стол" -r -m0 -ep1 o+ -ag_YYYY.MM.DD-HH.MM "%USERPROFILE%\Рабочий стол"
RAR.EXE a "%zz%:\Backup\Мои_документы" -r -m0 -ep1 o+ -ag_YYYY.MM.DD-HH.MM "%USERPROFILE%\Мои документы"
GOTO END
EXIT
 
:END
msg * Архивирование завершено
EXIT
 
 
rem Pause

Всего записей: 230 | Зарегистр. 22-04-2009 | Отправлено: 07:32 17-05-2009
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd)
Widok (03-03-2010 16:29): Лимит страниц. Продолжаем здесь.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru