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

Если дата создания (или изменения) файла (или каталога) больше чем 40 часов, то делаем архивацию, если меньше то exit

13.11.2021, 07:41. Показов 4336. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно запустить cmd файл, вначале которого должна быть проверка - каталога, или файла (не важно) - по его дате создания или изменения (тоже не важно - лижь бы 40 часов учесть)


Вообщем примерно так:


Если дата создания файла:

c:\1.txt

более чем 40 часов (то есть файл был создан 40 часов назад), то выполняем архивацию:

@if %showdh%!==! start "" /D"E:\MitSoftWin81\for files\Arhivators\WinRAR 5.40 Final" "rar.exe" a -r -ag -ao -ep3 "E:\temp\bak_saves\audio\m3u" "I:\Audio\*.m3u"


если менее 40 часов, то создаём файлик:

c:\none.txt

и закрываем скрипт
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.11.2021, 07:41
Ответы с готовыми решениями:

Нужно заново запросить ввод N и M, если они больше 20 или меньше 1, или равны 1 одновременно
Проблема в том, что когда ввожу 1, происходит запрос заново. Например, ввожу 1 и 5. А когда 20, то всё хорошо. Помогите разобраться,...

DateTimePicker. Если выбрана дата меньше или равная текущей то выдать сообщение
Добрый день. Есть код по кнопке. DateTimePicker1.Format = DateTimePickerFormat.Short If DateTimePicker1.Value.ToString...

Автовыбор SELECT (детский/взрослый), если возраст больше или меньше 10 лет!
Есть форма. Дата поездки допустим, в формате ДД.ММ.ГГГГ, и форма дата рождения тоже в формате ДД.ММ.ГГГГ. Нужно как-то высчитать...

7
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
13.11.2021, 15:30
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
@echo off
set "file=c:\1.txt"
for /f "tokens=* delims=" %%a in ('powershell -executionpolicy bypass -command "if (((get-date) - (Get-ChildItem '%file%').CreationTime).totalHours -gt 40) {'yes'} else {'no'}"') do (
    if "%%a"=="yes" (
        "E:\MitSoftWin81\for files\Arhivators\WinRAR 5.40 Final" "rar.exe" a -r -ag -ao -ep3 "E:\temp\bak_saves\audio\m3u" "I:\Audio\*.m3u"
    ) else (
        @echo off>c:\none.txt
    )
)
pause
exit
1
5 / 5 / 0
Регистрация: 17.03.2021
Сообщений: 162
14.11.2021, 01:03  [ТС]
Karen87, заранее спасибо буду тестить. если что - отпишусь.

а powershell должен быть на винде ?
у меня win 10 pro x64


а сможете сделать пару кодов таких же точно , только чтобы было - 40 секунд, 40 минут, 40 дней (отдельные коды) ?
скорее-всего мне в будущем пригодится такое. да и народу тоже скорей всего.

и ещё если можно сразу - дата изменения файла. и каталога тогда уж , если не затруднит. там вроде не долго поправить...
просто я бы сам поправил - но точный синтаксис не знаю
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
14.11.2021, 01:41
Vadim89897575, не за что. На большинстве поддерживаемых ОС семейства Windows powershell идет из коробки. Ваш случай не исключение. Опишите точно хотелку - сделаю, а менять показания по 10 раз... Не ко мне
0
5 / 5 / 0
Регистрация: 17.03.2021
Сообщений: 162
14.11.2021, 02:17  [ТС]
Karen87, где поискать синтаксис типа - CreationTime).totalHours ?

чтобы мне подставить вместо него - дату изменения. и вместо часов - минуты, секунды, дни.

в справке к powershell ?
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
14.11.2021, 02:34
Vadim89897575, либо в справке, либо возьмите за основу командлет get-member. Он позволяет получить свойства и методы объекта. Например:
PowerShell
1
Get-childitem C:\1.txt | Get-member
На выходе получите все свойства и методы указанного объекта

Добавлено через 11 минут
Учитывая тот факт, что в powershell все представляет из себя объекты, то можно сделать вывод, что выражение:
PowerShell
1
((get-date) - (Get-ChildItem 'C:\1.txt').Creationtime).totalhours
также является объектом. Соответственно:
PowerShell
1
((get-date) - (Get-ChildItem 'C:\1.txt').Creationtime) | get-member
Получаете список свойств, в числе которых так же будет значиться totalhours (полное число часов между текущей датой и датой создания файла)
0
5 / 5 / 0
Регистрация: 17.03.2021
Сообщений: 162
14.11.2021, 03:31  [ТС]
Karen87, ок. буду разбираться. тестировать. спасибо. сам бы не сделал
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
14.11.2021, 04:56
Vadim89897575, не за что
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.11.2021, 04:56
Помогаю со студенческими работами здесь

Сайт сдвигается влево если монитор ноутбука или компьютера больше и ли меньше?
Есть сайт он сдвигается влево если экран например:ноутбука меньше или больше по диагонали! Как сделать так что бы он располагался по...

Как выполнить функцию если значение в Label меньше или больше 100?
Как Сделать Выполнение Функции Если Значение в Label1 Меньше или больше нужного числа if (label->text <(или >) 100) { }

Кто дописать может проверку на дату чтобы дата если дата будет введена больше чем 12.30.2020 просило ввести заново
#include <iostream> #include <cstdlib> #include <conio.h> #include <cstring> #include <cstdio> #include <windows.h> #include...

Замените первое число нулём, если оно меньше или равно второму, и оставьте числа без изменения в другом случае
Даны два действительных числа. замените первое число нулём, если оно меньше или равно второму, и оставьте числа без изменения в противном...

После работы утилиты удалить оригинальные файлы если размер выходного файла меньше, а если больше то удалить выходной
Приветствую, есть ли готовое решение? Имеется батник: for %%i in (*.mp3) do ( echo %%i ffmpeg -i "%%i" -c:a libopus -b:a...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера 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. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru