Показать полную графическую версию : Изменить даты и время создания файлов
Как изменить даты и время создания файлов на текущую дату и время
на диске C в папке FOTO и во вложенных в ней папках
@echo off
for /f "delims=" %%a in ('dir/a-d/b/s "C:\FOTO\*.*"') do nircmd.exe setfiletime "%%a" "now"
exit
утилиту скачать, запустить, принять условия.
@echo off
for /f "delims=" %%a in ('dir/a-d/b/s "C:\FOTO\*.*"') do nircmd.exe setfiletime "%%a" "now"
exit »
не работает все даты остаються старые
не работает все даты остаються старые »
должно работать. Скорее всего не верно указаны даты. Как вариант, проверьте с фиксированной датой.
@echo off
for /f "delims=" %%a in ('dir/a-d/b/s "C:\FOTO\*.*"') do nircmd.exe setfiletime "%%a" "11-12-2016 23:32:11" "11-12-2016 23:32:12"
exit
55kadi, а Вы NirCmd (http://www.nirsoft.net/utils/nircmd.html) загрузили, поместили в текущий каталог или в PATH?
Код на PowerShell: Get-ChildItem 'C:\FOTO' -Recurse -Force | ? {!$_.PSIsContainer} | % {$_.CreationTime = Date}.
55kadi, а Вы NirCmd загрузили, поместили в текущий каталог или в PATH? »
да все сделал но не меняет
55kadi,
сделайте скриншот этого:
@echo on
for /f "delims=" %%a in ('dir/a-d/b/s "C:\FOTO\*.*"') do nircmd.exe setfiletime "%%a" "now"
pause
nircmd.exe положить в папку, где находится bat с этим кодом
отдельно такая команда:
nircmd.exe setfiletime "C:\FOTO\какой-нибудь файл.jpg" "now"
меняет дату создания какого-то случайного файла в папке C:\FOTO?
55kadi, ещё покажите, как Вы определяете, что даты создания не изменились.
да заработало спасибо
а дату изменения тоже можно поменять ?
или как то можно сразу все атрибуты поменять создание изменения ................ ?
55kadi, можно. И то, и то. Прочтите справку по приведённой подкоманде NirCmd или классу .Net FileInfo Class (System.IO) (https://msdn.microsoft.com/en-us/library/system.io.fileinfo(v=vs.110).aspx).
shustrik86
27-09-2019, 17:19
Цитата alpap:
@echo off
for /f "delims=" %%a in ('dir/a-d/b/s "C:\FOTO\*.*"') do nircmd.exe setfiletime "%%a" "now"
exit »
не работает все даты остаються старые »
Потому что
во-первых, не надо писать @echo off ! Для того, чтобы можно было видеть, что вообще происходит!
Во-вторых, в конце написать не EXIT а PAUSE чтобы видеть что же произошло в работе батника
В-третьих, вот правильная строчка:
for /f "delims=" %%a in ('dir/a-d/b/s "C:\FOTO\*.*"') do nircmd.exe setfiletime "%%a" "now" "now"
это описано в справке к нирцмд. Я проверил - с двумя наумами работает!
это описано в справке к нирцмд »
так читайте внимательно, а не между строк:
Изменяет дату создания/модификации/обращения одного или более файлов.
Первый параметр может быть единственным именем файла или строкой подстановочных знаков.
Параметры дат должны быть определены в следующем формате: "dd-mm-yyyy hh:nn:ss", если параметр даты не определен или Вы определяете пустую строку (""), дата не будет изменена.
Если Вы определите "now" как параметр даты, то будет использоваться текущая дата и время.
т.е. если поставить "now" произойдет изменение на текущие, а если надо оставить то что было то или пусто если этот параметр в конце или "", если где-то посередине.
megaloman
27-09-2019, 17:51
Устанавливаем FAR менеджер (для граждан стран бывшего СССР лицензия бесплатна), выбираем папку,
F9 -> файлы -> атрибуты файлов -> ставите нужное время -> ставите птичку "обрабатывать вложенные папки"
И не надо городить огород.
И вообще, если работаете с CMD-файлами, удобнее FAR нет.
…do nircmd.exe setfiletime… »
Тогда уж nircmdc.exe.
(для граждан стран бывшего СССР лицензия бесплатна), »
Вторая и третья версии бесплатны для всех: Open Source - Unicode Far - forum.farmanager.com (https://forum.farmanager.com/viewtopic.php?p=27894).
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.