288 / 93 / 11
Регистрация: 29.05.2011
Сообщений: 2,399
|
|
1 | |
Возврат даты модификации файла в CMD24.05.2015, 23:30. Показов 21294. Ответов 7
Метки нет (Все метки)
В CMD хочу замутить такую штуку.
1. Вытянуть из конкретного файла *.* дату последней модификации. 2. Назначить для нее переменную "Х". 3. Сравнить месяц и год %X% с %DATE%. 4. При различии выполнить конкретную команду. Поможете побаловаться?)))
0
|
24.05.2015, 23:30 | |
Ответы с готовыми решениями:
7
Запуск cmd файла с определенного места в его коде из другого cmd файла Копирование папки с датой модификации на день раньше текущей даты Распределение по папкам и переименование JPG-файлов на основе даты их создания или модификации Поиск файла по дате модификации |
3460 / 1998 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
|
|||||||||||
25.05.2015, 11:23 | 2 | ||||||||||
Сообщение было отмечено Bazaroff как решение
РешениеДдя этого переменная "X" собственно не нужна. Всё делается в одну строку. Код командной строки:
Код пакетного файла:
5
|
288 / 93 / 11
Регистрация: 29.05.2011
Сообщений: 2,399
|
|
25.05.2015, 18:01 [ТС] | 3 |
ComSpec, большущее спасибо.
Я пытаюсь кое-как осваивать CMD и т.п. Ограничен в понимальных возможностях, к сожалению(, но пытаюсь! Пытаюсь! Будьте добры, растолкуйте детально ваш скрипт. И, если не затруднит, каков был бы скрипт с использованием переменных? Или с переменными нерешаемо? Добавлено через 14 минут Почитал о команде FOR. Понятного не много (для меня). Когда искал решение наткнулся на команду FORFILES, но как оказалось она внешняя и к тому же оперирует только батниками. (По крайней мере так было сказано в описании).
0
|
3460 / 1998 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
|
|||||||||||||||||||||
26.05.2015, 12:55 | 4 | ||||||||||||||||||||
Сообщение было отмечено Bazaroff как решение
РешениеС помощью первого "for" получаем дату и время модификации файла ("%~ti"), которую передаём на разбор с помощью второго "for". Для разбора во втором цикле создаём строку "%date% %~ti", которая при раскрытии переменных будет иметь примерный вид "26.05.2015 26.11.2014 14:42". Поскольку нам надо сравнить месяц и год, то выделяем соответсвующие токены (2, 3, 5, 6), а разделителями будут точка и пробел (также в перечень разделителей добавлены дефис и слеш на случай другого формата даты). Далее сравниваются две пары (2-ой и 3-ий токены с 5-ым и 6-ым токенами), и по результату проверки истинности условия выполняется или не выполняется команда. Решаемо. Варианты кода для пакетного файла: 1)
2)
Вариант для командной строки (также с лексикографическим сравнением):
Множество команд, постоянно используемых в пакетных файлах и командной строке, -- внешние, и это практически ни на что не влияет. Другое дело, что эта команда входит в комплектацию ОС, начиная с Windows Vista. Предназначена эта команда только для работы с файлами и папками, и разбирать строки она не может. Вот как с помощью этой команды можно получить дату и время модификации файла:
Обратите внимание, что дата и время модификации в команде "FORFILES" -- две самостоятельные переменные. Сочетание модификаторов же "~t" для переменных цикла при использовании "FOR" расширяет переменную до даты и времени модификации вместе. Не верьте.
3
|
0 / 0 / 0
Регистрация: 05.02.2019
Сообщений: 9
|
|
06.03.2019, 16:03 | 5 |
не пойму как сделать так, чтобы результат этой команды записывался в переменную?
0
|
4334 / 2124 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
||||||
07.03.2019, 21:10 | 6 | |||||
0
|
5 / 5 / 0
Регистрация: 17.03.2021
Сообщений: 161
|
|
13.11.2021, 01:26 | 7 |
alpap, ComSpec, ребят. а мне нужен код такой:
если дата создания ( или дата изменения - всё-равно в принципе) файла : C:\Temp\Pogloc\1.txt более чем 40 часов, тогда выполняем код дальше , а если меньше 40 часов - exit p.s. то есть этот код должен стоять в самом начале cmd файла, и проверять дату файла.
0
|
3049 / 1056 / 475
Регистрация: 29.05.2016
Сообщений: 4,442
|
||||||
13.11.2021, 15:26 | 8 | |||||
Vadim89897575, пробуйте:
В 5-ой строчке вместо echo Process указываете код, который должен отработать при выполнении условия даты создания файла более 40 часов по отношению к текущей либо можете реализовать в виде вызова call
1
|
13.11.2021, 15:26 | |
13.11.2021, 15:26 | |
Помогаю со студенческими работами здесь
8
Получить дату модификации файла Добавление текущей даты к имени файла при нестандартном формате вывода даты BAT: получить дату создания/модификации файла и добавить в имя архива Создание файла INI из файла cmd/bat итд Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |