Я хочу сохранить файлы с текущей датой - PullRequest
0 голосов
/ 08 мая 2020

Удалить все файлы в C: \ temp старше Текущих дней

$ Path = "E: \ Testing \ Order \ 123456"

$ CurrentDate = Get- Дата

Get-ChildItem $ Путь | Where-Object {$ _. LastWriteTime -lt $ CurrentDate} | Remove-Item

Я пытаюсь запустить этот сценарий, но он удаляет все. Он не поддерживает файлы с текущей датой. Есть ли какие-нибудь изменения, пожалуйста, посоветуйте мне, сэр.

Ответы [ 2 ]

1 голос
/ 08 мая 2020

Убедитесь, что вы правильно указали расширения файлов, если они есть.

Get-ChildItem -Path C:\folder1\data -Include * -Exclude text.1, folder1  -Recurse | foreach { $_.Delete()}

Отредактируйте, чтобы ответить на комментарий:

Итак, вы хотите удалить все файлы а папки в C: \ folder1 кроме файлов text.1 и folder.1 в data, other и alpha? Это означает, что вы не можете удалить и эти 3 папки, поэтому их нужно исключить.

Get-ChildItem -Path C:\folder1\ -Include * -Exclude text.1, folder.1, alpha, data, other  -Recurse | foreach { $_.FullName}
0 голосов
/ 08 мая 2020

попробуйте это (и не оставайтесь в своем каталоге при попытке):

Get-ChildItem "C:\folder1\data\*" -Recurse | where Name -notin ('text.1', 'folder.1') | Remove-Item -Force -Recurse
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...