Пройти в папке по всем файлам и записать на сам файл время создания файла.
С батом этот код вот так реализованно. Хотел бы что то на SHELL или Python. Спасибо за Внимание.@echo off
for %%f in (*.txt) do (
for /f "tokens=1*" %%a in ('forfiles /m "%%f" /c "cmd /c echo @fdate @ftime"') do (
echo.>> "%%f"
echo Created: %%a - %%b >> "%%f"
)
for /f "tokens=1-5 delims=.: " %%j in ('dir /a-d /tc "%%f" ^| findstr /rc:"^[^ ]"') do echo Changed: %%j.%%k.%%l - %%m:%%n>> "%%f"
)
exit
мне кажется вы забыли указать сумму, которую готовы заплатить
Сессия подъехала.
> Пройти в папке по всем файлам и записать на сам файл время
> создания файла.В общем случае - никак.
Есть способы для ufs2, zfs, ext4, btrfs, jfs.
Нет способа для xfs, да и для всяких vfat - они не хранят crtime.
> Пройти в папке по всем файлам и записать на сам файл время
> создания файла.for f in *.txt; do stat -c '%y' >> $f; done
> for f in *.txt; do stat -c '%y' >> $f; doneТут ошибка, забыт аргумент stat'а.
for f in *.txt; do stat -c '%y' $f >> $f; done
>> for f in *.txt; do stat -c '%y' >> $f; done
> Тут ошибка, забыт аргумент stat'а.
> for f in *.txt; do stat -c '%y' $f >> $f; doneСпасибо . Прекрасно работает.
>> for f in *.txt; do stat -c '%y' $f >> $f; done
> Спасибо . Прекрасно работает.Угу. Только возвращает неправильное время. %w != %y
>>> for f in *.txt; do stat -c '%y' $f >> $f; done
>> Спасибо . Прекрасно работает.
> Угу. Только возвращает неправильное время. %w != %yЯ получаю то время когда создавались файлы. правильное время
> Я получаю то время когда создавались файлы. правильное времяТы получаешь время, когда изменялись файлы. Оно может совпадать со временем создания, если после создания файлы не трогали.
Короче, %y - это НЕ время создания файла.
>> Я получаю то время когда создавались файлы. правильное время
> Ты получаешь время, когда изменялись файлы. Оно может совпадать со временем создания,
> если после создания файлы не трогали.
> Короче, %y - это НЕ время создания файла.A мне это и нужно. Я же script запускаю.. и получаю время создания файла... Второй раз уже не
запускаю. мне нужно первый ответ. что я и получаю.
> A мне это и нужно. Я же script запускаю.. и получаю
> время создания файла... Второй раз уже неНет, не получаешь. Почитай про разницу между
crtime
ctime
mtime
atimeУ тебя задача - получить crtime. Ты напечатал mtime и врёшь, что это тебе и нужно.
>>> for f in *.txt; do stat -c '%y' $f >> $f; done
>> Спасибо . Прекрасно работает.
> Угу. Только возвращает неправильное время. %w != %yТаки да: %y Time of last modification. А вот %w в мане шото не нашёл. Что оно такое?
> Таки да: %y Time of last modification. А вот %w в мане
> шото не нашёл. Что оно такое?Свежая модно-молодежность (ЕМНИП, всего 10 лет как завезли) ;)
> %w - Time of file birth, or ‘-’ if unknown
> %W - Time of file birth as seconds since Epoch, or ‘0’Это если мы о stat из coreutils.
В бздшных, для кастомного формата stat, вместо *кхе-кхе* интуитивно понятной *кхе* опции "-c" "%y" (от yodified) или "%w" (wirth) нужно задавать какой-то "-f" "%m" или "%B" ;)