Совет Windows: как удалить файлы старше определенных дней в командной строке

Возможно, самый простой способ удалить файлы определенного возраста — через командную строку, пакетный файл или даже скрипт. Да, конечно, вы все еще можете сделать это из мощного проводника, поставляемого с Windows, но он определенно требует больше действий, чем простая команда.

Например, если мне нужно найти в OneDrive список PDF-файлов старше года, я могу открыть командную строку и выполните следующую команду.

 ForFiles/p "z:  OneDrive"/s/m * .PDF/d -365/c "cmd/c echo @file" 

, в котором

  • /p для указания пути для начала поиска.
  • /s для рекурсивного поиска во всех подпапках.
  • /m, чтобы определить маску поиска для указанных файлов. В этом случае используйте * .PDF, чтобы найти все файлы PDF.
  • /d, чтобы выбрать файлы с датой последнего изменения. -365 просто означает год назад.
  • /c, чтобы указать команду для выполнения каждого файла, найденного при поиске. Командную строку необходимо заключить в двойные кавычки. «Cmd/c echo @file» — это команда по умолчанию, если не указано иное. При необходимости вы можете использовать другие переменные, например:
    • @path для полного пути к файлу.
    • @fsize для размера файла.
    • @fdate и @ftime для даты и времени файла.

Чтобы удалить файлы, найденные в search, замените в команде « echo » на « del ».

 ForFiles/p «z:  OneDrive» /s/m * .PDF/d -365/c "cmd/c del @file" 

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

Вы также можете сделать то же самое с PowerShell , если хотите, с помощью командлета Get- ChildItem и Where-Object .

 Get-ChildItem "z:  OneDrive" -Recurse |  Where-Object {($ _. LastWriteTime -lt (Get-Date) .AddDays (-365)) -and ($ _. Extension -match "PDF")} 

Чтобы удалить элементы найденный в приведенном выше командлете, передайте результат командлету Remove-Item.

 Get-ChildItem "z:  OneDrive" -Recurse |  Where-Object {($ _. LastWriteTime -lt (Get-Date) .AddDays (-365)) -and ($ _. Extension -match "PDF")} |  Удалить элемент 

Оцените статью
toodcast.ru
Добавить комментарий