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

В имена файлов не полностью выводятся переменные даты изменения

19.03.2023, 17:49. Показов 567. Ответов 7

Студворк — интернет-сервис помощи студентам
Возникает проблема при переименовании файлов в даты их изменения через for. Программа вроде бы работает, но почему-то выдаёт в названии не всю дату и время, а только минуты. Я только начинаю изучать ms-dos, возможно, не замечаю чего-то очевидного. Может быть, есть более удобные и правильные пути для решения задачи? Прилагаю мой код:

Windows Batch file
1
2
3
4
5
6
setlocal enabledelayedexpansion
cd %dir%\docx\
for /f "usebackq delims=*" %%f in (dir /b /o:-d /tc) do (ren "%%f" !%%~tf!.docx
)
pause
exit
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.03.2023, 17:49
Ответы с готовыми решениями:

ПО для инкрементного бекапа с проверкой изменения файлов с использованием хеш-функции, а не даты изменения файла
Добрый день. Какая программа для инкрементного бекапирования првоеряет изменения файлов по хеш-функции, а не по дате изменения файла? ...

Сравнение даты даты изменения файлов
Привет. Написал кусок проги для сравнения даты изменения файлов: #include "stdafx.h" #include "cmp_date.h" //FILE...

Вывести имена файлов, их размеры и даты создания
setlocal enabledelayedexpansion for /f %%n in ( 'dir %1*.%2 /b /s /os ^| find /c /v ""' ) do set /a ss=%%n-3 & (for /f usebackq %%k in...

7
6973 / 2866 / 1101
Регистрация: 06.06.2017
Сообщений: 9,739
19.03.2023, 18:45
В cmd это известная проблема. Поэтому берём vbs/js/posh.
1
0 / 0 / 0
Регистрация: 19.03.2023
Сообщений: 3
19.03.2023, 19:59  [ТС]
Спасибо за ответ. К сожалению, у меня учебное задание, должен сделать именно батник
0
6973 / 2866 / 1101
Регистрация: 06.06.2017
Сообщений: 9,739
19.03.2023, 21:50
Цитата Сообщение от VladimirTavriec Посмотреть сообщение
а только минуты
Похоже, что я не так понял смысл фразы. Сперва подумал, что после минут секунды нужны. Но как вижу код вообще нерабочий, он вообще в таком виде не может что-то переименовывать.

Windows Batch file
1
@for %%f in (*.docx) do @ren "%%f" "%%~tf%%~xf"
0
 Аватар для Angry Old Man
3003 / 743 / 313
Регистрация: 26.03.2022
Сообщений: 1,385
Записей в блоге: 1
19.03.2023, 22:17
Лучший ответ Сообщение было отмечено VladimirTavriec как решение

Решение

Цитата Сообщение от FlasherX Посмотреть сообщение
"%%~tf%%~xf"
При разделителе ":" во времени это не работает. В имени файла не может быть двоеточия.
Windows Batch file
1
2
3
4
@Echo Off
    Set "FileIn=Z:\Soft_In\*.docx"
    For %%f In ("%FileIn%") Do (Set "T=%%~tf" &Call Ren "%%f" "%%T::=-%%%%~xf")
Exit /B
1
0 / 0 / 0
Регистрация: 19.03.2023
Сообщений: 3
19.03.2023, 22:21  [ТС]
Спасибо Вам большое, работает
0
 Аватар для Angry Old Man
3003 / 743 / 313
Регистрация: 26.03.2022
Сообщений: 1,385
Записей в блоге: 1
19.03.2023, 23:22
еще вариант, с секундами, но медленнее
Windows Batch file
1
2
3
4
5
6
7
8
9
@Echo Off
    Set "FileIn=Z:\Soft_In\*.docx*"
    For %%f In ("%FileIn%") Do (
        Set "Name=%%f"
        For /f "delims=." %%a in ('"2>nul Call wmic datafile where name='%%Name:\=\\%%' get CreationDate,LastModified /value|Find /I "^=""') Do Set "%%a%%~xf"
rem     Call Ren "%%f" "%%CreationDate%%"
        Call Ren "%%f" "%%LastModified%%"
    )
Exit /B
0
6973 / 2866 / 1101
Регистрация: 06.06.2017
Сообщений: 9,739
20.03.2023, 01:12
Цитата Сообщение от Angry Old Man Посмотреть сообщение
При разделителе ":" во времени это не работает.
Не поспоришь. Быстро отвечал с коленки, не сообразил, что ren.
Цитата Сообщение от Angry Old Man Посмотреть сообщение
В имени файла не может быть двоеточия.
А это поспешное утверждение.

Про wmic datafile, кстати, тоже думал, но сразу отмёл из-за тормозов с многократными запросами. Была мысль получить списком через like, но там тормоза вообще жутчайшие.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.03.2023, 01:12
Помогаю со студенческими работами здесь

Выбрать имена файлов, созданных ранее указанной даты
Первой программой создать файл «каталог файлов», в которой занести имена файлов и дату их создания (дд.мм.гг.). Составляющие даты выбрать...

Записать в текстовый файл даты создания и имена файлов, размер которых меньше заданного
Добрый вечер, можно пожалуйста попросить Вас решить задачку, кому не сложно. Буду очень благодарен. Можно еще попросить Вас писать код...

Сравнение даты изменения двух файлов с использованием edit
Подскажите пожалуйста долгое время бьюсь над способом сравнения двух одинаковых файлов. в двух edit-ax указан путь к каталогам с...

Загрузка части данных из файлов с проверкой даты изменения
Добрый день, друзья! Может кто-то уже делал что-то похожее, но найти нужный вариант не получилось. Есть файлы Checkcfg с данными...

Получить список файлов и узнать даты их изменения в известном каталоге?
вот, собственно, и весь вопрос :)


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 31.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 31.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 30.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru