none
вывод в файл список файлов созданных за день RRS feed

  • Вопрос

  • Появилась следующая задача, формировать каждый день выходной файл, в котором должны присутствовать файлы, созданные пользователями за день.

    В директории присутствуют также и подпапки, данную задачу пробовала решить совместным использование. dir и find, но не устраивает вывод, получалось только сформировать имена файлов без их расположения.

    Вывод должен быть примерно, следующий

    /subfolder1/test1.txt

    /subfolder2/test2.txt

    Заранее спасибо.

    3 ноября 2015 г. 7:58

Ответы

  • $path = gci %путь% -Recurse
    $condition1 = ((Get-Date).AddDays(-1)).Date
    $condition2 = (Get-Date).Date
    $sort = $path | where {$_.LastWriteTime -gt $condition1 -and $_.LastWriteTime -lt $condition2}
    $sort.FullName
    Это если на шаре фиксированная папка пользователя. Если по всему хранилищу раскиданы файлы надо по овнеру фильтровать
    • Предложено в качестве ответа Vector BCOModerator 3 ноября 2015 г. 9:46
    • Помечено в качестве ответа Elena Bazareva 5 ноября 2015 г. 14:57
    3 ноября 2015 г. 9:44
  • $path = gci %путь% -Recurse
    $condition1 = ((Get-Date).AddDays(-1)).Date
    $condition2 = (Get-Date).Date
    $sort = $path | where {$_.LastWriteTime -gt $condition1 -and $_.LastWriteTime -lt $condition2}
    $sort.FullName
    Это если на шаре фиксированная папка пользователя. Если по всему хранилищу раскиданы файлы надо по овнеру фильтровать

    если внимательно прочитать условие, то можно поменять $_.LastWriteTime на $_.CreationTime

    :))

    а по модифицированным у меня както так вышло

    forfiles /P C:\users\username /D %date% /S /C "cmd /c if not @isdir==TRUE echo @path"

    • Помечено в качестве ответа Elena Bazareva 5 ноября 2015 г. 14:57
    3 ноября 2015 г. 10:59

Все ответы

  • Попробуйте использовать robocopy (фиктивное копирование в nul). Тогда в логе robocopy вы получите список файлов.

    http://quickbytesstuff.blogspot.ru/2014/10/list-directories-using-robocopy.html


    Сазонов Илья

    https://isazonov.wordpress.com/

    3 ноября 2015 г. 8:57
    Модератор
  • Перенес в раздел скриптов.

    Сазонов Илья

    https://isazonov.wordpress.com/

    3 ноября 2015 г. 8:58
    Модератор
  • $path = gci %путь% -Recurse
    $condition1 = ((Get-Date).AddDays(-1)).Date
    $condition2 = (Get-Date).Date
    $sort = $path | where {$_.LastWriteTime -gt $condition1 -and $_.LastWriteTime -lt $condition2}
    $sort.FullName
    Это если на шаре фиксированная папка пользователя. Если по всему хранилищу раскиданы файлы надо по овнеру фильтровать
    • Предложено в качестве ответа Vector BCOModerator 3 ноября 2015 г. 9:46
    • Помечено в качестве ответа Elena Bazareva 5 ноября 2015 г. 14:57
    3 ноября 2015 г. 9:44
  • $path = gci %путь% -Recurse
    $condition1 = ((Get-Date).AddDays(-1)).Date
    $condition2 = (Get-Date).Date
    $sort = $path | where {$_.LastWriteTime -gt $condition1 -and $_.LastWriteTime -lt $condition2}
    $sort.FullName
    Это если на шаре фиксированная папка пользователя. Если по всему хранилищу раскиданы файлы надо по овнеру фильтровать

    если внимательно прочитать условие, то можно поменять $_.LastWriteTime на $_.CreationTime

    :))

    а по модифицированным у меня както так вышло

    forfiles /P C:\users\username /D %date% /S /C "cmd /c if not @isdir==TRUE echo @path"

    • Помечено в качестве ответа Elena Bazareva 5 ноября 2015 г. 14:57
    3 ноября 2015 г. 10:59