Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 20.05.2015
Сообщений: 6

Объединение двух скриптов создания и удаления папок

21.05.2015, 17:33. Показов 1944. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мира вашим домам. Есть два скрипта которые никак не могу объединить методом тыка.
1. создает папки с сегодняшней датой
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
@echo off
    SetLocal EnableExtensions
 
    :: Добавляю к дате +1
    call :fromDate "%date%" +0 ddmmyyyy
 
    md "%ddmmyyyy%"
 
    & goto :eof
 
 
    :FromDate [Дата] [действие (+-) Число дней] [Переменная для хранения результата]
    :: Функция работы с датами
    setLocal
    set now=%~1
    set /a yyyy=%now:~-4%
    set /a mm=1%now:~3,2%-100
    set /a dd=1%now:~,2%-100
    set /a JD=%~2+dd-32075+1461*(yyyy+4800+(mm-14)/12)/4+367*(mm-2-(mm-14)/12*12)/12-3*((yyyy+4900+(mm-14)/12)/100)/4
    set /a L=JD+68569,N=4*L/146097,L=L-(146097*N+3)/4,I=4000*(L+1)/1461001
    set /a L=L-1461*I/4+31,J=80*L/2447,K=L-2447*J/80,L=J/11
    set /a J=J+2-12*L,I=100*(N-49)+I+L
    set /a yyyy=I,mm=100+J,dd=100+K
    EndLocal& set "%~3=%dd:~-2%.%mm:~-2%.%yyyy%"
    exit /b
2. Удаляет старые папки с бэкапом
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
@echo off
set main_dir=D:\123
call :FromNow -7
for /f "delims=" %%i in ('dir "%main_dir%" /b /ad') do call :p "%%i"
exit 
 
:p
setLocal
set dir_date=%~1
set dir_date=%dir_date:~-10%
if %dir_date:~-4% lss %ddmmyyyy:~-4% goto delete
if %dir_date:~-4% gtr %ddmmyyyy:~-4% goto no_delete
if %dir_date:~3,2% lss %ddmmyyyy:~3,2% goto delete
if %dir_date:~3,2% gtr %ddmmyyyy:~3,2% goto no_delete
if %dir_date:~,2% lss %ddmmyyyy:~,2% goto delete
goto no_delete
:delete
rd /s /q "%main_dir%\%~1"
:no_delete
EndLocal
exit /b
 
:FromNow
setLocal
set now=%date%
set /a yyyy=%now:~-4%
set /a mm=%now:~3,2%
set /a dd=%now:~,2%
set /a JD=%~1+dd-32075+1461*(yyyy+4800+(mm-14)/12)/4+367*(mm-2-(mm-14)/12*12)/12-3*((yyyy+4900+(mm-14)/12)/100)/4
set /a L=JD+68569,N=4*L/146097,L=L-(146097*N+3)/4,I=4000*(L+1)/1461001
set /a L=L-1461*I/4+31,J=80*L/2447,K=L-2447*J/80,L=J/11
set /a J=J+2-12*L,I=100*(N-49)+I+L
set /a yyyy=I,mm=100+J,dd=100+K
EndLocal& set ddmmyyyy=%dd:~-2%.%mm:~-2%.%yyyy%
exit /b
Первое как их объединить ? а второе можно ли модифицировать скрипт который удаляет старые бэкапы так чтобы он оставлял не только 7-ми дневной давности бэкапы но и + один бэкап за год и по одному на два последних месяца (если два последних месяца сложновато то хотя бы один за год бэкап)?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.05.2015, 17:33
Ответы с готовыми решениями:

Объединение двух скриптов
Добрый вечер, имеются два скрипта SELECT * FROM AGENCY_EXT_DOC_SEARCH_VW a JOIN attachment att ON att.id = a.attachment_id JOIN...

Объединение двух скриптов
Здравствуйте! Возникла такая проблема. Моя задача состоит в том, чтобы на нажатие ссылки появлялось модальное окно и при этом код...

Объединение двух скриптов (совмещение)
есть два скрипта: один выводит информацию из текстового файла <SCRIPT LANGUAGE="JavaScript"> <!-- var filepath =...

3
 Аватар для ComSpec
3462 / 2000 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
22.05.2015, 12:14
Лучший ответ Сообщение было отмечено ITagir как решение

Решение

Цитата Сообщение от ITagir Посмотреть сообщение
1. создает папки с сегодняшней датой


Код:
Windows Batch file
1
md %date%
.
А если ещё и застраховаться от "несчастных" случаев, то тогда код такой:
Windows Batch file
1
set $date=%date:/=.%& 2>nul call md %%$date:-=.%%
.
Или я что-то не понял?




Цитата Сообщение от ITagir Посмотреть сообщение
2. Удаляет старые папки с бэкапом


Код:


Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
@echo off
set "main_dir=D:\123"& call pushd "%%main_dir%%"|| exit/b 1
 
for /f "tokens=1-3 delims=./-" %%i in ('
 mshta "vbscript:CreateObject("Scripting.FileSystemObject").GetStandardStream(1).Write(DateAdd("D",-7,Date))&Close()"
') do (
 for /f "tokens=1-3 delims=." %%l in ('2^>nul dir/ad/b') do (
  if %%n%%m%%l lss %%k%%j%%i rd/q/s %%l.%%m.%%n
 )
)
 
popd& exit/b 0

.




Цитата Сообщение от ITagir Посмотреть сообщение
как их объединить ?


Вставить первый код во второй вместо любой из двух пустых строк.




Цитата Сообщение от ITagir Посмотреть сообщение
можно ли модифицировать скрипт который удаляет старые бэкапы так чтобы он оставлял не только 7-ми дневной давности бэкапы но и + один бэкап за год и по одному на два последних месяца (если два последних месяца сложновато то хотя бы один за год бэкап)?


Непонятно, по какому принципу выбирать. Если по последнему дню двух предшествующих месяцев и за 31 декабря предыдущего года, то не факт, что в эти дни бэкапы были созданы.
2
0 / 0 / 0
Регистрация: 20.05.2015
Сообщений: 6
22.05.2015, 16:49  [ТС]
Баркала огромное за то что отозвался . Если тебе не трудно объедини пожалуйста мои два кода и свои отдельно . По поводу бэкапов лучше сделать чтоб сохраняла последний созданный бекап каждого месяца а не последних двух а по прошествии года т.е. 31 декабря чтоб удаляли все ежемесячные бекапы и оставляла один годовой последний. Вроде как то так
0
0 / 0 / 0
Регистрация: 20.05.2015
Сообщений: 6
27.05.2015, 14:34  [ТС]
Мда не успел поблагодарить как он чухнул

Добавлено через 8 минут
ComSpec, Проснись в этой теме
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.05.2015, 14:34
Помогаю со студенческими работами здесь

Проводник не обновляется автоматически после удаления, перемещения и создания папок
Всем Привет! После создания папок, удаления, переименования или вставки надо обязательно обновить, чтобы изменения появились. Как...

Объединение скриптов
Добрый день, только второй день учусь работать на sql (так уж вышло), и дали задание на объединение таблиц. Не могу понять как можно...

Объединение скриптов
Есть 2 скрипта 1-й, задача в планировщике, который должен выполняться локально на машине без foreach: $TaskName = "Record"...

Объединение 2-х скриптов
Привет, друзья! Нашел 2 рабочих скрипта. По отдельности они работаю на ура, пытаюсь объединить, ничего не выходит. Работает что-то одно,...

Объединение скриптов
Объединение скриптов В ОДИН! Пытался делать, то что мне здесь предложили // Кеширование скриптов ( function () { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru