Собственно, весь вопрос в заголовке. Можно ли где найти исходники такой? Если нет, то, может, кто подскажет, что почитать, что-бы такую состряпать? Вообщем, любая помощь по теме?

Комментарии
31.12.2009 в 12:56

Если нужна прога - то непонятно, чем не устраивает обычный файловый менеджер. :)
Если функция, например на PHP:
<?php

// outputs e.g. somefile.txt was last accessed: December 29 2002 22:16:23.

$filename = 'somefile.txt';
if (file_exists($filename)) {
echo "$filename was last accessed: " . date("F d Y H:i:s.", fileatime($filename));
}

?>

Можно скрипт написать.
01.01.2010 в 00:02

Не, это не для веба надо. Для винды.
01.01.2010 в 05:45

I'm not dead... yet.
екорный бабай, ну это всего лишь вызов одной функции и все. программа, млин... на каком языке хоть надо?
01.01.2010 в 05:52

_Dimitriy, а причем тут веб? )))

Создаешь файлик "Myscript.php", ставишь интерпретатор PHP и в нем запускаешь. Ректально, но вполне решает задачу при ее текущей постановке.
04.01.2010 в 08:54

программа, млин... на каком языке хоть надо?
На Си
04.01.2010 в 09:03

Тигр спасибо, конечно, но эта задача - часть другой...
04.01.2010 в 10:25

Для C:
Под Win API - копать в сторону GetFileTime()
Под *nix - копать в сторону fstat()

В дескрипторах FAT32 и ниже вроде нет атрибута access time - поэтому если вы пишете задачу на чистом C - одной строчкой не обойтись(нету функции для того, чего не было на момент создания компилятора).
04.01.2010 в 10:36

Я, конечно, в этом разбираюсь очень слабо, но, можно же, стандартными средствами винды найти все файлы, в которых изменения были произведены в определённом промежутке времени. Мне нужно, что-бы программа регулярно обходила все папки, и перемещала "старые" файлы в заданную папку. То есть, мне, насколько я понимаю, нужен скрипт, задающий последовательность определённых команд для винды?
04.01.2010 в 11:45

Стоп. Так вам нужен modification time. Время последнего изменения файла, а не время последнего доступа к файлу.

В любом случае, если пишете под Win API - msdn.microsoft.com/en-us/library/ms724320%28VS....

Если на Plain C - в гугле есть такая программка:



#
#include time.h
#
#include sys/types.h
#
#include sys/stat.h
#
#include stdio.h

int main()
{
char filename[] = "c:\\test.txt";
char timeStr[ 100 ] = "";
struct stat buf;
time_t ltime;
char datebuf [9];
char timebuf [9];

if (!stat(filename, &buf))
{
strftime(timeStr, 100, "%d-%m-%Y %H:%M:%S", localtime( &buf.st_mtime));
printf("\nLast modified date and time = %s\n", timeStr);
}
else
{
printf("error getting atime\n");
}
_strtime(timebuf);
_strdate(datebuf);
printf("\nThe Current time is %s\n",timebuf);
printf("\nThe Current Date is %s\n",datebuf);
time( <ime );
printf("\nThe Current time is %s\n",ctime( <ime ));
printf("\Diff between current and last modified time ( in seconds ) %f\n", difftime(ltime ,buf.st_mtime ) );
return 0;
}


Соответственно для проверки времени чтения файла - &buf.st_atime - должно работать под никсами и посылать нафиг под виндой. :)
04.01.2010 в 12:01

Вообще то, я не программер, просто, хочу реализовать саму идею.
Мне немного не ясен смысл этого вот выражения:
должно работать под никсами и посылать нафиг под виндой.
Так будет этот код работать в винде или нет?
04.01.2010 в 12:30

_Dimitriy,
&buf.st_mtime - будет.
&buf.st_atime - не должно.

Вообще то, я не программер, просто, хочу реализовать саму идею. -

Kernel Panic!

:)

Зачем на C реализовывать идею, не являясь программистом? Есть же более дружелюбные к не-программистам языки. А модифицировать чужой код - это вообще жестокая задача.
04.01.2010 в 13:02

Kernel Panic!
Что это?
Зачем на C реализовывать идею, не являясь программистом?
А я всё равно уже давно думаю, выучить Си.
05.01.2010 в 01:10

_Dimitriy: ru.wikipedia.org/wiki/Kernel_panic

Зачем учить С? Не мучай мозг - назад дороги нет! =)
05.01.2010 в 08:04

Я сейчас всё равно без дела сижу. А, товарищ у меня есть, предлагает помогать ему один проект делать, на Си.
05.01.2010 в 17:59

_Dimitriy, почему не C#? =)
05.01.2010 в 18:53

Потому что на Си :)
Не знаю, таков был выбор моего друга.