none
Узнать есть ли файл созданный сегодня RRS feed

  • Вопрос

  • Подскажите,  как с помощью PS узнать, есть ли в папке файл, созданный сегодня, и если нет, то отправить письмо (с этим условием я справился сам :)
    30 июня 2010 г. 14:38

Ответы

  • Svolotch, вполне неплохо для не знающего PS :)

    Но можно обойтись и без преобразования даты в строку, используя свойство date у объекта [datetime]. Кроме того судя по заданию неизвестно/неважно как называется файл, к тому же он может быть не один.

    if (dir c:\папка | where {$_.creationtime.date -eq (get-date).date}) {отправляем письмо}


    AKA Xaegr, MCSE: Security, Messaging; MCITP: Server\Enterprise Administrator; Блог: http://xaegr.wordpress.com
    • Предложено в качестве ответа Vasily GusevModerator 30 июня 2010 г. 16:27
    • Помечено в качестве ответа Bafff 6 июля 2010 г. 10:38
    30 июня 2010 г. 16:25
    Модератор

Все ответы

  • вроде как то так:

    if($file.CreationTime.ToShortDateString() -ne (get-date).ToShortDateString( ))

    З.Ы. PS особо не знаю

    30 июня 2010 г. 15:39
  • Svolotch, вполне неплохо для не знающего PS :)

    Но можно обойтись и без преобразования даты в строку, используя свойство date у объекта [datetime]. Кроме того судя по заданию неизвестно/неважно как называется файл, к тому же он может быть не один.

    if (dir c:\папка | where {$_.creationtime.date -eq (get-date).date}) {отправляем письмо}


    AKA Xaegr, MCSE: Security, Messaging; MCITP: Server\Enterprise Administrator; Блог: http://xaegr.wordpress.com
    • Предложено в качестве ответа Vasily GusevModerator 30 июня 2010 г. 16:27
    • Помечено в качестве ответа Bafff 6 июля 2010 г. 10:38
    30 июня 2010 г. 16:25
    Модератор
  • ну да...

    я вообще предполагал конструкцию типа(подсмотрено на технете + нагуглил):

    foreach ($file in Get-ChildItem C:\Scripts)
    {
    if($file.CreationTime.ToShortDateString() -ne (get-date).ToShortDateString( ))
       {
         отправляем письмо
       }
    }

    -----

    кста, а если там будет сегодня созданная пустая папка? В вашем случае получается можно ключами dir'a решить, так?

    30 июня 2010 г. 16:48
  • >я вообще предполагал конструкцию типа

    Тогда будет по письму на каждый новый файл, может получится весело :)

    >кста, а если там будет сегодня созданная пустая папка? В вашем случае получается можно ключами dir'a решить, так?

    Нет, у "dir", точнее у Get-ChildItem таких ключей нет, так как он предназначен для работы с различными хранилищами данных, а не только с файловой системой, а в некоторых из них вообще может отсутствовать понятие "папки". Зато можно добавить вот такой фильтр:

    |where {-not $_.psIsContainer}


    AKA Xaegr, MCSE: Security, Messaging; MCITP: Server\Enterprise Administrator; Блог: http://xaegr.wordpress.com
    30 июня 2010 г. 17:07
    Модератор
  • Vasily Gusev, спасибо, то что нужно! Ещё бы понять, как отправить письмо на русском языке, и чтобы текст не приходил в виде "???" :(
    6 июля 2010 г. 10:39