Модераторы: diadiavova, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с копированием файлов 
:(
    Опции темы
igor76
Дата 14.5.2007, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 14.5.2007

Репутация: нет
Всего: нет



У меня вопрос! Подскажите как скопировать наиболее новый файл из списка файлов в папке?
PM MAIL   Вверх
sgrey
Дата 14.5.2007, 20:53 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 265
Регистрация: 15.4.2006

Репутация: нет
Всего: 4



Цитата(igor76 @ 14.5.2007,  16:33)
У меня вопрос! Подскажите как скопировать наиболее новый файл из списка файлов в папке?

считываешь атрибуты файлов LastWriteTime, находишь самый последний и копируешь куда надо...
PM MAIL   Вверх
igor76
Дата 14.5.2007, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 14.5.2007

Репутация: нет
Всего: нет



Не, для меня это сложновато пока, но всетаки помогите составить код, вот условие:
 smile 
    имеется папка: d:\Bad
    в папке несколько файлов, причем имена этих файлов является дата их создания:
    c20070501.html 
    c20070505.html 
    c20070514.html
    дата появлени нового файла не известна
    надо  поместить код в планировщик заданий и чтоб при запуске 2 раза в день (или каждые 30мин) искал в папке d:\Bad новый файл, копировал его в C:\series\ под именем index.html
    причем чтобы он  проверял существование этого файла и если он существует - ничего не делать,  а то будет последний по дате файл все время копировать
----------------------------------------------------
Помогите плиз!!!
PM MAIL   Вверх
tol05
Дата 15.5.2007, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 1
Всего: 170



Извини, я на шарпе тебе напишу. Думаю, разберешься smile

Код

string lastCopiedFileName = ... //Это имя последнего файла с предыдущего копирования. Из БД, например 

DirectoryInfo dir = new DirectoryInfo(@"d:\Bad ");
FileInfo[] list = dir.GetFiles();

long minSpan;
FileInfo newestfile;

foreach(FileInfo file in dir)
{
    long delta = (long)(DateTime.Now - file.CreationTime).TotalSeconds;
    if(minSpan > delta)
    {
      minSpan = delta;
      newestfile = file;
    }
}

if(newestfile != null)
{
newestfile.CopyTo(@"C:\series\" + newestfile.Name);
lastCopiedFileName = newestfile.Name;  //Записываешь себе имя в БД на память :)
}



Это сообщение отредактировал(а) tol05 - 15.5.2007, 18:01


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
Exception
Дата 21.5.2007, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 18
Всего: 186



Перевёл на VB .NET:

Код

Dim lastCopiedFileName As String = ... ' Это имя последнего файла с предыдущего копирования. Из БД, например 
Dim dir As New DirectoryInfo ("d:\Bad ")
Dim list() As FileInfo = dir.GetFiles ()
Dim minSpan As Long
Dim newestfile As FileInfo
For Each file As FileInfo In dir
    Dim delta As Long = CLng((DateTime.Now - file.CreationTime).TotalSeconds)
    If minSpan > delta Then
      minSpan = delta
      newestfile = file
    End If
Next
If newestfile IsNot Nothing Then
    newestfile.CopyTo ("C:\series\" + newestfile.Name)
    lastCopiedFileName = newestfile.Name  ' Записываешь себе имя в БД на память :)
End If

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0443 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.