Скрипт для извлечения информации из очень больших дисков - PullRequest
1 голос
/ 23 февраля 2010

Мне нужен скрипт, который может собирать информацию о папках / файлах с больших дисков (от 600 ГБ до 1 ТБ). Информация, которая мне понадобится:

  • Полное имя / путь к файлу
  • Размер файла
  • Дата создания
  • Дата изменения
  • Дата последнего обращения.

Пока у меня есть код ниже:

dir 'e:\' -recurse | 
     select FullName,Length,CreationTime,LastWriteTime,LastAccessTime | 
     Export-CSV e:\test\testit.csv -notype

Можно ли настроить скрипт так, чтобы он мог выполнять поиск в ‘Если дата изменения равна days xxx’ дней или старше, выведите данные в csv ..

ххх будет цифрой - т.е. 365 для 1 года или старше .. или ххх будет цифрой - т.е. 730 для 2 лет или старше ..

Также возможно ли изменить заголовки столбцов, которые он выводит в файле CSV? Спасибо

1 Ответ

2 голосов
/ 23 февраля 2010

Для первой части вопроса вы можете использовать

# fixed date
Get-ChildItem c:\temp\ | ? { $_.LastWriteTime -lt [datetime]'2009-02-23' }
# variable depending on current date; it returns only items that are older than 365 days
Get-ChildItem c:\temp\ | ? { $_.LastWriteTime -lt [datetime]::Now.AddDays(-365) }

Что касается изменения заголовков. Можно выбрать элементы с разными именами, но с одинаковым содержимым (~ переименовать свойства):

Select-Object @{Name='ItemName'; Expression={$_.FullName } }, 
        @{Name='Write'; Expression={$_.LastWriteTime } }, 
        @{Name='Access'; Expression={$_.LastAccessTime } }

Обратите внимание, что есть блок скриптов, где вы можете делать все, что захотите. Вы можете, например, формат даты {$_.LastAccessTime.ToString('yyyy-MM-dd') }


Если я собрал его (только 3 свойства переименованы)

Get-ChildItem e:\ -rec | 
    ? { $_.LastWriteTime -lt [datetime]::Now.AddDays(-365) } |
    Select-Object @{Name='ItemName'; Expression={$_.FullName } }, 
        @{Name='Write'; Expression={$_.LastWriteTime } }, 
        @{Name='Access'; Expression={$_.LastAccessTime } } |
    Export-Csv e:\test\testit.csv -notype
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...