|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Пробел вместо нуля в разряде десятков часов |
|
CMD/BAT - Пробел вместо нуля в разряде десятков часов
|
Новый участник Сообщения: 16 |
Профиль | Отправить PM | Цитировать
При добавлении текущего времени к имени файла (или папки), при создании папки с текущим временем в имени и многих других случаях, где используется %time:~0,2% , имеем пробел вместо нуля в разряде десятков часов, если часы не перевалили за 10: Err-123- 8.06.53.log и FOLDER- 8.07.49 вместо желаемых Err-123-08.06.53.log и FOLDER-08.07.49 , что неудобно (в т.ч. при сортировке по имени). Это исправимо? Знатоки! Откликнитесь!
for %%i in (Err-*.log) do ren "%%i" "%%~ni-%time:~0,2%.%time:~3,2%.%time:~6,2%%%~xi" md "FOLDER-%time:~0,2%.%time:~3,2%.%time:~6,2%" Системное время во всех местах отображается подходяще - с нулем... |
|
Отправлено: 18:29, 02-03-2017 |
Новый участник Сообщения: 16
|
Профиль | Отправить PM | Цитировать alpap
Это дает результат, пригодный для сортировки по имени (типа FLDR`2017'03'04`04'06'17 ), только при системном формате даты dd.MM.yyyy . Попробуйте это же запустить при yyyy.MM.dd или при d/M/yy ... megaloman Ваши методы отлично копируют системные последовательности компонентов датывремени при любых разумных разделителях, однако результат типа FLDR`2017'03'04`04'06'17 получается только при yyyy/MM/dd (хоть и с любыми разделителями). qaaqasqad (сам себе) Или результат типа FLDR`2017'03'04`04'06'17 не гарантирован, или твик реестра "sShortDate"="yyyy.MM.dd" так и останется в системе... А что, если так (и результат абсолютно не зависит от системного формата датывремени, и сам этот формат в итоге возвращается в систему): reg copy "HKCU\Control Panel\International" "HKCU\0" /s /f | reg add "HKCU\Control Panel\International" /v "sShortDate" /t REG_SZ /d "yyyy.MM.dd" /f for /f "tokens=1,2,3,4,5,6 delims=.:,;-_`/|\" %%i in ("%date%-%time: =0%") do set "datetime=%%i'%%j'%%k`%%l'%%m'%%n" reg copy "HKCU\0" "HKCU\Control Panel\International" /s /f | reg delete "HKCU\0" /f md "FLDR`%datetime%" |
Последний раз редактировалось qaaqasqad, 05-03-2017 в 14:29. Отправлено: 13:57, 05-03-2017 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Забанен Сообщения: 795
|
Цитата qaaqasqad:
|
|
Отправлено: 14:21, 05-03-2017 | #12 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать |
Отправлено: 02:54, 06-03-2017 | #13 |
Новый участник Сообщения: 16
|
Профиль | Отправить PM | Цитировать alpap
Спасибо! Идеально! Не к чему придраться! Лучше и быть не может! |
Отправлено: 14:48, 07-03-2017 | #14 |
Новый участник Сообщения: 30
|
Профиль | Отправить PM | Цитировать alpap
А можно ли подобным образом добавить к имени файла дату-время его создания (изменения), т.е., например, file.ext -> file`1988'09'24`21'55'51.ext ? |
Последний раз редактировалось dassen, 14-04-2018 в 13:09. Отправлено: 12:58, 14-04-2018 | #15 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать |
Отправлено: 14:55, 14-04-2018 | #16 |
Ветеран Сообщения: 2703
|
Профиль | Отправить PM | Цитировать Если не думать о формате даты в системе, то wmic
@Echo Off Call :WRen "E:\Основная папка\тра ля ля.exe" GoTo :Eof :WRen SetLocal If Not Exist %1 Exit /B 2 Set "Fin=%~1" Set "Fin=%Fin:\=\\%" For /f "tokens=1* delims=," %%a in ('wmic datafile where "name='%Fin%'" get 'Creation Date' /format:csv') Do ( If /I "%%a"=="%ComputerName%" Set "Df=%%b" ) Ren %1 "%~n1`%Df:~0,4%'%Df:~4,2%'%Df:~6,2%`%Df:~8,2%'%Df:~10,2%'%Df:~12,2%%~x1" ||Exit /B 1 EndLocal Exit /B 0 |
------- Последний раз редактировалось megaloman, 14-04-2018 в 17:43. Отправлено: 16:42, 14-04-2018 | #17 |
fascinating rhythm Сообщения: 6484
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 18:34, 14-04-2018 | #18 |
Новый участник Сообщения: 30
|
Профиль | Отправить PM | Цитировать megaloman, спасибо.
А если нужно добавить дату-время изменения к имени файла file.ext , лежащего в одной папке с этим батником? ( Call :WRen "file.ext" не прокатывает... ) |
Отправлено: 19:22, 26-08-2018 | #19 |
Ветеран Сообщения: 2703
|
Профиль | Отправить PM | Цитировать |
------- Последний раз редактировалось megaloman, 26-08-2018 в 20:14. Отправлено: 20:05, 26-08-2018 | #20 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Снижение стоимости часов Pebble и возможное появление часов LG на webOS | OSZone News | Новости информационных технологий | 0 | 02-10-2014 19:30 | |
Разное - Некорректное завершение работы при разряде батареи | P.O.D. | Microsoft Windows 7 | 0 | 02-11-2010 10:26 | |
На DVD диске объём превышает несколько десятков гигабайт | gen0m.rsw | Хочу все знать | 4 | 11-07-2010 20:37 | |
Выключение сервера при разряде UPS | Seven | Microsoft Windows NT/2000/2003 | 11 | 08-02-2010 11:44 | |
В Windows и Office найдено более двух десятков «дыр» | CnyH9I | Флейм | 4 | 05-02-2010 16:58 |
|