Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Удаление созданных папок и файлов по времени (http://forum.oszone.net/showthread.php?t=144124)

zavoruev 03-07-2009 14:32 1158142

Удаление созданных папок и файлов по времени
 
Всем добрый день!!!!
есть необходимость дописать скрипт, я в этом деле не мастер, но вот сейчас понадобилось.
Вот существующий
for /f "tokens=5,7,6 delims=_ " %%i in ('date /t') do (set date = %%i-%%j-%%k)
echo %date%
set new_name=%date%
echo %new_name%

Mkdir d:\Backup\%new_name%
CD /D d:\Backup\%new_name%
Xcopy d:\mazda /S /E
Суть такова, делается папка с названием даты (число, месяц, год), необходимо чтобы после отрабатывания вот этого скрипта удалялись папки недельной давности отсчетом от вновь созданного. Например:
Сегодня создалась утром папка 03.07.09, а уавтоматом удалилась 27.06.09.
Заранее всем благодарен!!!!

amel27 04-07-2009 10:09 1158720

Цитата:

Цитата zavoruev
чтобы после отрабатывания вот этого скрипта удалялись папки недельной давности отсчетом от вновь созданного »

в такой формулировке батник будет слишком громоздким:
Код:

@Echo Off
:: Параметры скрипта, 0 < $OLD < 29!
:: $OLD - столько ДНЕЙ храним архивы

Set $SRC=D:\Mazda
Set $DST=D:\Backup
Set $OLD=6
:: Находим текущие день/месяц/год
For /F "Tokens=1 Delims=." %%i In ('WMIC OS Get LocalDateTime^|Find "."') Do Set $Time=%%i
Set $Y=%$Time:~0,4%&Set $M=0%$Time:~4,2%&Set $D=0%$Time:~6,2%
Set $M=%$M:~-2%&Set $D=%$D:~-2%
:: Создаем каталог/делаем архив
XCopy /S/E/D/C/Q %$SRC%\* %$DST%\%$D%.%$M%.%$Y:~-2%\
:: Удаляем старые архивные каталоги
Call :GetOldDate %$OLD%
For /F "Tokens=1-3 Delims=." %%i In ('DIR /B/A:D %$DST%\??.??.??') Do If %%k%%j%%i LEQ %$Y:~-2%%$M%%$D% RD /S/Q "%$DST%\%%i.%%j.%%k"
:: Выход
EXIT

:GetOldDate
:: -----------------------------------
:: Расчет даты, предшествующей текущей
:: заданное количество дней (< 29)
:: -----------------------------------

 Set /A $D -= %1
 If %$D% GTR 0 GoTo GetOldDate_2
:: Месяц, год, дней в месяце
 Set /A $M=%$M%+11-((%$M%+10)/12)*12
 If %$M% EQU 12 Set /A $Y-=1
 For /F "Tokens=%$M%" %%i In ("31 28 31 30 31 30 31 31 30 31 30 31") Do Set $X=%%i
 If %$M% NEQ 2 GoTo GetOldDate_1
:: Февраль високосного года
 Set /A $B1=%$Y%-(%$Y%/4)*4
 Set /A $B2=%$Y%-(%$Y%/100)*100
 Set /A $B3=%$Y%-(%$Y%/400)*400
 If 0 EQU %$B1% If 0 NEQ %$B2% Set /A $X+=1
 If 0 EQU %$B3% Set /A $X+=1
:: День месяца
:GetOldDate_1
 Set /A $D=%$D%+%$X%-((%$D%+%$X%-1)/%$X%)*%$X%
:: Форматирование даты
:GetOldDate_2
 Set $M=0%$M%&Set $D=0%$D%
 Set $M=%$M:~-2%&Set $D=%$D:~-2%
GoTo :EOF

Практичней опираться не на "давность" архивов, а на их количество. Предположим, вам пришлось отключить технику на новогодние праздники (~10 дней), после выходных, при первом запуске будут удалены ВСЕ каталоги кроме текущего. Удобней ограничить количество хранимых каталогов (в зависимости от выделенного дискового пространства). Один из таких вариантов:
Код:

@Echo Off
SetLocal EnableDelayedExpansion
:: ЧТО и КУДА копируем, сколько храним
:: $OLD - КОЛИЧЕСТВО хранимых архивов

Set $SRC=D:\Mazda
Set $DST=D:\Backup
Set $OLD=6
:: Находим текущие день/месяц/год
For /F "Tokens=1 Delims=." %%i In ('WMIC OS Get LocalDateTime^|Find "."') Do Set $Time=%%i
Set $Y=%$Time:~0,4%&Set $M=0%$Time:~4,2%&Set $D=0%$Time:~6,2%
Set $M=%$M:~-2%&Set $D=%$D:~-2%
:: Создаем каталог/делаем архив
XCopy /S/E/D/C/Q %$SRC%\* %$DST%\%$D%.%$M%.%$Y:~-2%\
:: Ограничиваем количество архивов
For /F "Delims=" %%i In ('DIR /B/O:-D/A:D %$DST%\??.??.??') Do (
  Set /A $OLD-=1
  If !$OLD! LSS 0 RD /S/Q "%$DST%\%%i"
)

P.S. при использовании последнего скрипта нельзя вручную добавлять/изменять содержимое архивных каталогов, иначе их дата будет заменена на текущую и работа скрипта нарушится

zavoruev 06-07-2009 09:21 1159899

amel27,
спасибо тебе огромное! Есть пару вопросов:
1.
Цитата:

Цитата amel27
P.S. при использовании последнего скрипта нельзя вручную добавлять/изменять содержимое архивных каталогов, иначе их дата будет заменена на текущую и работа скрипта нарушится »

Это наверно относится не к последнему скрипту, а к первому, т.к в последем удаление не завязано на дату, а на количество папок. Мне это важно, так как программист 1С работает с базами за прошлые числа.
2.
Цитата:

Цитата amel27
:: Ограничиваем количество архивов »

--- Set $OLD=6- это означает что должно быть не больше 6-го архива (каталога)? Но при использовании скрипта папка создается, но архивы (каталоги) не удаляются, хотя их больше 6!!!!! И вообще поясните процесс, т.е создается 7-ой архив, и первый удаляется (критерий удаления), или создается 7-ой архив и первые 6 удаляются!!!! Как это работает??????????


3. Если у меня в папке D:\Backup\ есть не только папки созданные этим скриптом, но и архивы, которые делаются по другому шедулеру (с помощью winrar делается бэкап только нужных папок). Как будет работать последняя часть скрипта на удалении? Будет удалять тока создаваемы архивы, или ограничение идет для все папки.

P.S. Или все таки лучше папки и архивы разнести ао разным папкам в корне диска D:\

zavoruev 06-07-2009 09:36 1159908

И еще одно, формат создаваемого каталога должен выглядеть так 06.07.2009, а при использовании данных скриптов 06.07.09. Как это поправить?

amel27 06-07-2009 11:20 1159965

1. к последнему, в нем дата - из атрибутов каталога, в первом - восстановлена из его имени
2. 1) "@Echo Off" --> "@Echo On"; 2) "Script.CMD >Script.Log 2>&1"; 3) Script.Log - в студию!
3. батник обрабатывает только каталоги по маске "??.??.??" (с изменениями - "??.??.????")

Цитата:

Цитата zavoruev
формат создаваемого каталога должен выглядеть так 06.07.2009, а при использовании данных скриптов 06.07.09 »

как указано в первом посте, так и реализовано в скрипте

Цитата:

Цитата zavoruev
программист 1С работает с базами за прошлые числа »

значит, второй батник требует модификации, с учетом полного года:
Код:

@Echo Off
SetLocal EnableDelayedExpansion

:: ЧТО и КУДА копируем, сколько храним
Set $SRC=D:\Mazda
Set $DST=D:\Backup
Set $OLD=6

:: Находим текущие день/месяц/год
For /F "Tokens=1 Delims=." %%i In ('WMIC OS Get LocalDateTime^|Find "."') Do Set $Time=%%i
Set $Y=%$Time:~0,4%&Set $M=0%$Time:~4,2%&Set $D=0%$Time:~6,2%
Set $M=%$M:~-2%&Set $D=%$D:~-2%

:: Создаем каталог/делаем архив
XCopy /S/E/D/C/Q %$SRC%\* %$DST%\%$D%.%$M%.%$Y%\

:: Ограничиваем количество архивов
For /F "Tokens=1-3 Delims=." %%i In ('DIR /B/A:D %$DST%\??.??.????') Do Set $_%%k%%j%%i=%%i.%%j.%%k
For /F "Tokens=2 Delims==" %%i In ('Set $_^|Sort /R') Do (
  Set /A $OLD-=1
  If !$OLD! LSS 0 RD /S/Q "%$DST%\%%i"
)


zavoruev 06-07-2009 11:48 1159990

Вы уж извените, но я не пишу скрипты, и мне нужно по подробней обозначить процессы. Давайте по очереди:
1. Сейчас разговаривал с программистом 1С, он говорит что ему необходимы архивы давностью за прошедший месяц, т.е с 1-30(31,28) (в зависимости от месяца, и архивы не делаются в субботу и воскресенье). Получается что значение Set $OLD должно быть в зависимости от месяца. Этот скрипт выполняется ночью в 3.30.
2. Далее в конце каждого месяца где-то в 00.30 (думаю 3 часа хватит на архивацию) должен выполняться скрипт (я думаю Winrar) на архивацию всех этих папок с последующим удаление (параметр М), и переносом архива в другой каталог (храняться до 3-х лет). Если есть другие варианты то подскажите!!!!

Т.е вариант с удаление папок отпал, базы нужны, так сказало руководство.

amel27 06-07-2009 17:11 1160294

Цитата:

Цитата zavoruev
Сейчас разговаривал с программистом 1С »

обычно сначала "говорят с программистом", а потом формулируют задачу, ну да ладно...

Цитата:

Цитата zavoruev
Т.е. вариант с удаление папок отпал, базы нужны, так сказало руководство »

в таком случае все решается не скриптом, а средствами планировщика:
- один скрипт (типа того, что в первом посте) тупо копирует каталоги, этот скрипт планируется на ежедневное выполнение (кроме выходных, в 3.30)
Код:

@Echo Off

Set $SRC=D:\Mazda
Set $DST=D:\Backup

:: Находим текущие день/месяц/год
For /F "Tokens=1 Delims=." %%i In ('WMIC OS Get LocalDateTime^|Find "."') Do Set $Time=%%i
Set $Y=%$Time:~0,4%&Set $M=0%$Time:~4,2%&Set $D=0%$Time:~6,2%
Set $M=%$M:~-2%&Set $D=%$D:~-2%

:: Создаем каталог/делаем архив
XCopy /S/E/D/C/Q %$SRC%\* %$DST%\%$D%.%$M%.%$Y%\

- второй скрипт архивирует все содержимое каталога "Backup" с удалением содержимого (у WinRAR есть такая опция), планируется на выполнение 1-го числа каждого месяца (в 00.30)

zavoruev 06-07-2009 17:49 1160337

Это все понятно, спасибо!!! Просто на будущее,
1. может ли значение Set $OLD выбирать в зависимости от месяца, допустип в феврале 28 дней Set $OLD =28, июне Set $OLD =30. И вот исходя из этой переменной удаляться последние записи прошлого месяца (т.е февраль, 28 дней -----> при наступлении 1 числа марта будет удаляться бэкап с 1 по 31 января; при наступлении 1 апреля, удаляются бэкапы с 1 по 28 февраля). Возможно ли это реализовать, и если да, то как?????
2. Может ли значение Set $OLD во обоих скриптах быть больше 29 (1 скрипт- удаляет папки старше dd.mm.yyyy - 29, а второй ограничивает вообще кол-во папок, если больше 29, то удаляется 1 или нет, опишите вот это, не понятно???? )


Заранее огромное человеческое Спасибо

amel27 07-07-2009 11:35 1160913

zavoruev, всё можно... важней понять, что нужно

1. для такой постановки $OLD не требуется, т.к. сравнение всегда идет с 1-м числом месяца
Код:

@Echo Off

Set $SRC=D:\Mazda
Set $DST=D:\Backup

:: Текущие день/месяц/год
For /F "Tokens=1 Delims=." %%i In ('WMIC OS Get LocalDateTime^|Find "."') Do Set $Time=%%i
Set $Y=%$Time:~0,4%&Set $M=0%$Time:~4,2%&Set $D=0%$Time:~6,2%
Set $M=%$M:~-2%&Set $D=%$D:~-2%

:: Копирование каталога
XCopy /S/E/D/C/Q %$SRC%\* %$DST%\%$D%.%$M%.%$Y%\

:: Дата 1-го дня предыдущего месяца
Set /A $M=%$M%+11-((%$M%+10)/12)*12
Set $M=0%$M%
Set $M=%$M:~-2%
If %$M% EQU 12 Set /A $Y-=1

:: Удаляем старые архивные каталоги
If %$D% EQU 01 For /F "Tokens=1-3 Delims=." %%i In ('DIR /B/A:D %$DST%\??.??.????') Do If %%k%%j%%i LSS %$Y%%$M%01 RD /S/Q "%$DST%\%%i.%%j.%%k"

2. во втором скрипте значение $OLD может быть любым положительным целым числом

zavoruev 06-08-2009 14:29 1187159

Удаление предварительно созданных папок и файлов с 1-го цисла следующего месяца
 
Всем добрый день!!!! Имеется скрипт на Удаление предварительно созданных папок и файлов с 1-го цисла следующего месяца, но в этом месяце удаление не произошло, так как 1 и 2 числа были суббота и воскресенье, а по этим дням бэкапы не делаются!!!! подскажите как доработать скрипт чтобы таких ситуаций не возникало. Заранее спасибо!!!

Echo Off

Set $SRC=D:\Mazda\2008
Set $DST=D:\Full_Backup

:: Текущие день/месяц/год
For /F "Tokens=1 Delims=." %%i In ('WMIC OS Get LocalDateTime^|Find "."') Do Set $Time=%%i
Set $Y=%$Time:~0,4%&Set $M=0%$Time:~4,2%&Set $D=0%$Time:~6,2%
Set $M=%$M:~-2%&Set $D=%$D:~-2%

:: Копирование каталога
XCopy /S/E/D/C/Q/exclude:C:\scripts\excludelist.txt %$SRC%\* %$DST%\%$D%.%$M%.%$Y%\

:: Дата 1-го дня предыдущего месяца
Set /A $M=%$M%+11-((%$M%+10)/12)*12
Set $M=0%$M%
Set $M=%$M:~-2%
If %$M% EQU 12 Set /A $Y-=1

:: Удаляем старые архивные каталоги
If %$D% EQU 01 For /F "Tokens=1-3 Delims=." %%i In ('DIR /B/A:D %$DST%\??.??.????') Do If %%k%%j%%i LSS %$Y%%$M%01 @Echo RD /S/Q "%$DST%\%%i.%%j.%%k"

NiOl 06-08-2009 18:00 1187359

В скрипт не вчитывался, но возможно, что достаточно в процедуре удаления заменить условие If %$D% EQU 01 на If %$D% LEQ 03, тогда условие будет отработано 1, 2 и 3го числа, но сначала протестируйте "на кошках"

ЗЫ: По-хорошему это вопрос должен был быть задан здесь: http://forum.oszone.net/thread-144124.html

zavoruev 07-08-2009 10:25 1187911

Поменял значение LEQ 01 на LEQ 03. "Кошки" остались живы, а вот удаление так и не произошло.
PS: Тему ту создавал я,и как раз сейчас идет доработка скрипта!!!!!!!!!!

NiOl 07-08-2009 12:42 1188043

ответил здесь >>

NiOl 07-08-2009 12:45 1188048

В неделе 2 выходных дня (насколько понял в шедл указано запускать только по рабочим дням), поэтому если процедура удаления будет запускаться 1го, 2го и 3го числа (не 6го как вчера или 7го, как сегодня), то как минимум один из 3х дней попадет на будни. А в этот раз Вам нужно удалить ручками.

zavoruev 07-08-2009 12:46 1188051

Я опять тебя не понимаю!!!!! Тот топик завел я и отвечал мне на него AMEL27. Я его там задам!!!! Только скажи, ты то помочь сможешь?????

zavoruev 07-08-2009 12:48 1188056

в августе месяце удаление июльских файлов не произошло, так как 1 и 2 числа были суббота и воскресенье, а по этим дням бэкапы не делаются!!!! подскажите как доработать скрипт чтобы таких ситуаций не возникало. Заранее спасибо!!!

Echo Off

Set $SRC=D:\Mazda\2008
Set $DST=D:\Full_Backup

:: Текущие день/месяц/год
For /F "Tokens=1 Delims=." %%i In ('WMIC OS Get LocalDateTime^|Find "."') Do Set $Time=%%i
Set $Y=%$Time:~0,4%&Set $M=0%$Time:~4,2%&Set $D=0%$Time:~6,2%
Set $M=%$M:~-2%&Set $D=%$D:~-2%

:: Копирование каталога
XCopy /S/E/D/C/Q/exclude:C:\scripts\excludelist.txt %$SRC%\* %$DST%\%$D%.%$M%.%$Y%\

:: Дата 1-го дня предыдущего месяца
Set /A $M=%$M%+11-((%$M%+10)/12)*12
Set $M=0%$M%
Set $M=%$M:~-2%
If %$M% EQU 12 Set /A $Y-=1

:: Удаляем старые архивные каталоги
If %$D% EQU 01 For /F "Tokens=1-3 Delims=." %%i In ('DIR /B/A:D %$DST%\??.??.????') Do If %%k%%j%%i LSS %$Y%%$M%01 @Echo RD /S/Q "%$DST%\%%i.%%j.%%k"

То есть поменять значение EQU 01 на EQU 03 и ждать следующего месяца??????

NiOl 07-08-2009 13:13 1188082

У тебя возникла проблема. Ты для нее завел тему. Сейчас ты завел вторую тему по тому же вопросу. А отвечают в темах все, у кого есть на то возможность. Потому и ответил я именно в той ветке. Если кратко повторить мой ответ - в следующий раз скрипт должен удалить, но не сегодня, т.к. уже 7е число. Чтобы скрипт отрабатывал более точно, то предложенных исправлений недостаточно.

NiOl 07-08-2009 13:20 1188093

Цитата:

Цитата zavoruev
То есть поменять значение EQU 01 на EQU 03 и ждать следующего месяца? »

нет, поменять "равно 01" (EQU 01) на "меньше или равно 03" (LEQ 03).
tще в примере заметил вообще невыполняющуюся команду удаления - она просто выводится на экран. Нужно убрать "@Echo", чтобы сразу шло "RD..."
далее, можно вообще убрать условие "If %$D% EQU 01", оставив "FOR...", тогда скрипт будет пытаться удалять старые каталоги при каждом запуске, т.е. каждый день. Это будет лишним временем выполнения, но тогда точно удалит.

amel27 08-08-2009 12:46 1188723

zavoruev, слушай NiOl, он дело говорит... :yes:

FYI: Как сообщить о том, что моя проблема решена?

Felix007 19-08-2009 12:59 1197405

В продолжении темы, ребят пожалуйста помогите написать следующий батник. Требуется из папки сделать выборку файлов старше например 6 дней с даты создания переместить в другую папку и за архивировать. Я написал скрипт архивации но вот как по дате сделать даже и не знаю т.е как выбрать файлики лежащие в этой папке больше 6 дней.
Скрипт:
setlocal ENABLEDELAYEDEXPANSION
set day=%date:~0,2%
set month=%date:~3,2%
set year=%date:~6,4%
set today=%year%%month%%day%
set /a yesterday=today
7z a -tzip D:\tmp\Work\archiv_%yesterday% %fpath% *.txt
del D:\tmp\Work\*.txt
P.S надо сделать именно 7-zip т.к он бесплатный...

amel27 20-08-2009 12:37 1198244

Цитата:

Цитата Felix007
Требуется из папки сделать выборку файлов старше например 6 дней с даты создания »

скрипт на базе поста #2 - формирует список TXT-файлов старше $OLD дней:
Код:

@Echo Off
:: Параметры скрипта, 0 < $OLD < 29!
::  $SRC - где ищем файлы
::  $OLD - какие файлы считаем старыми
::  $LST - имя файла для списка
::  $EXT - тип файла/расширение

Set $SRC=C:\
Set $EXT=TXT
Set $LST=C:\_\Files.LST
Set $OLD=25
:: Находим текущие день/месяц/год
For /F "Tokens=1" %%i In ('WMIC OS Get LocalDateTime^,Version^|Find "."') Do Set DateTime=%%i
Set $Y=%DateTime:~0,4%
If "%DateTime:~4,1%"=="0" (Set $M=%DateTime:~5,1%) Else (Set $M=%DateTime:~4,2%)
If "%DateTime:~6,1%"=="0" (Set $D=%DateTime:~7,1%) Else (Set $D=%DateTime:~6,2%)
:: Откатываем дату назад на $OLD дней
Call :GetOldDate %$OLD%
:: Выделяем из имени исходного каталога диск и путь
If Exist "%$SRC%" For /F "Delims=" %%i In ("%$SRC%") Do Set $DRV=%%~di& Set $PTH=%%~pni\
If Not "%$PTH%"=="\\" Set $PTH=%$PTH:\=\\%
:: Получаем список файлов старше $OLD дней
If Exist "%$LST%" DEL /F/Q "%$LST%"
For /F "UseBackQ Tokens=2 Delims==" %%i In (`WMIC Path CIM_DataFile Where^
  "Drive='%$DRV%' And Extension='%$EXT%' And LastModified<'%DateTime%' And Path Like '%$PTH%%%'"^
  Get Name /Value^|Find "="`
) Do For /F "Delims=" %%a In ('Echo %%i') Do Echo %%a >>%$LST%
:: Выход
EXIT

:GetOldDate
:: -----------------------------------
:: Расчет даты, предшествующей текущей
:: заданное количество дней (< 29)
:: -----------------------------------

 Set /A $D -= %1
 If %$D% GTR 0 GoTo GetOldDate_2
:: Месяц, год, дней в месяце
 Set /A $M=%$M%+11-((%$M%+10)/12)*12
 If %$M% EQU 12 Set /A $Y-=1
 For /F "Tokens=%$M%" %%i In ("31 28 31 30 31 30 31 31 30 31 30 31") Do Set $X=%%i
 If %$M% NEQ 2 GoTo GetOldDate_1
:: Февраль високосного года
 Set /A $B1=%$Y%-(%$Y%/4)*4
 Set /A $B2=%$Y%-(%$Y%/100)*100
 Set /A $B3=%$Y%-(%$Y%/400)*400
 If 0 EQU %$B1% If 0 NEQ %$B2% Set /A $X+=1
 If 0 EQU %$B3% Set /A $X+=1
:: День месяца
:GetOldDate_1
 Set /A $D=%$D%+%$X%-((%$D%+%$X%-1)/%$X%)*%$X%
:: Форматирование даты
:GetOldDate_2
 Set $M=0%$M%&Set $D=0%$D%
 Set $M=%$M:~-2%&Set $D=%$D:~-2%
 Set DateTime=%$Y%%$M%%$D%%DateTime:~8%
GoTo :EOF

P.S. Скрипт выбирает на основе даты последней модификации, если нужна все-таки дата создания, то нужно заменить "LastModified" на "InstallDate"

Felix007 20-08-2009 15:16 1198408

amel27, спасибо большое оч помог!!! Архивирование прокатило!!! Как выбирать файлы которые старше 29 дней, мне например нужно выбрать файлы старше 280 дней и он конечно не отрабатывает. Помоги пожалуйста!!!

megaloman 25-08-2009 23:27 1203247

Вот скрипт, который решает Вашу задачу для любого количества дней.

Текст скрипта перенесите в блокнот, сохраните в файл с расширением .vbs, например ArcNDays.vbs
Запускайте как обычный исполнимый файл (как bat, например)

Скрипт использует ключи архиватора WinRar

-r -архивируем с поддиректориями
-df -удаляем файлы после архивации
-tb -архивируем файлы старше указанного времени

Скрипт вычисляет дату, отстоящую от текущей на указанное число дней и формирует командную строку с архиватором.
Архиватор архивирует старые файлы в указанную директорию и удаляет исходные файлы.



' Исходные данные
' ------------------------------------------------------------------------
DirRab = "D:\Проба пера\" ' Директория, откуда забираем файлы (c \ на конце)
DirArc = "D:\Проба пера.ARC\" ' Директория, куда архивируем файлы (c \ на конце)

NDaysDele = 31 ' Файлы старше NDaysDele будут заархивированы и удалены

Arc = """C:\Program Files\WinRar\WinRar.exe""" ' Путь к архиватору
' ------------------------------------------------------------------------

MDate = CStr(DateAdd("d",-NDaysDele,Date)) ' Дата отстоящая от текущей на NDaysDele дней

Set WS = CreateObject("WScript.Shell")
DateArc=Mid(MDate,7,4)+Mid(MDate,4,2)+Mid(MDate,1,2)

R = WS.Run(Arc+" a -r -df -tb"+DateArc+"0001 """+DirArc+DateArc+""" """+DirRab+"*.*""", 1, True)

Felix007 26-08-2009 00:03 1203277

megaloman, спасибо, Winrar-ром я уже делал и у меня все отлично получилось т.к у него полно своих средств для реализации данной задачи. ЩАс вин рар пришлось удалить т.к нет лицензии и требуется реализовать это с помощью 7-zip. А вот как правильно сделать это с датой я пока не придумал...

DaTais 22-04-2013 10:36 2137442

поднимаю тему.
Возникла проблема с правами
:: Находим текущие день/месяц/год
('WMIC OS Get LocalDateTime^|Find "."')


вот эта команда не работает, как можно упростить поиск текущей даты?


Время: 09:14.

Время: 09:14.
© OSzone.net 2001-