Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Удаление временных файлов: ~$*.xls ... (http://forum.oszone.net/showthread.php?t=346110)

JimmLight 11-08-2020 11:12 2930772

Удаление временных файлов: ~$*.xls ...
 
Есть Share: "\\srv\Documents\" с кучей подкаталогов, необходимо удалить все файлы из всех подкаталогов. Формат файлов таков: ~$*.xls;~$*.xlsx;~$*.doc;~$*.docx;~$*.pptx;~$*.ppt.

Каким образом это можно сделать средствами PowerShell?

greg zakharov 11-08-2020 14:50 2930813

Пардон, а разве это не свопы открытых документов? Свопы обычно лочатся и при попытке удалить их получается фига. Бывает, правда, что Word или Excel забывают подчистить за собой, тогда ничего не остается как удалять их вручную или скопом. Например:
Код:

(Get-ChildItem X:\Path -Recurse -File -Force).Where{$_.Name -match '\.(doc|xls|ppt)(?:x)?$'}.ForEach{Remove-Item $_.FullName -Force}
Подбить пример под свои нужды, очевидно, сможете самостоятельно.

JimmLight 12-08-2020 06:48 2930896

Цитата:

Цитата greg zakharov
Пардон, а разве это не свопы открытых документов? Свопы обычно лочатся и при попытке удалить их получается фига. Бывает, правда, что Word или Excel забывают подчистить за собой, тогда ничего не остается как удалять их вручную или скопом.»

Это свопы закрытых документов (при некорректном завершении работы с файлом, свопы не удаляются).
Цитата:

Цитата greg zakharov
Подбить пример под свои нужды, очевидно, сможете самостоятельно. »

Подбить пример - указать свой путь? Попробовал, скрипт удаляет почти всё на своем пути.

Elven 12-08-2020 10:51 2930908

Цитата:

Цитата JimmLight
при некорректном завершении работы с файлом »

С нынешними версиями офиса для того чтобы своп не самоубился при закрытии файла всякий там ворд/эксель/поверпойинт нужно убивать совсем уж жестоко. Есть еще один вариант "неудаления" подобных файлов - кривые NTFS разрешения на папке. Если дело в этом (а сохранность файлов на шаре в документах которые нужно редактировать но нельзя удалять часто подкостыливается через снятие разрешения на удаление), то я бы рекомендовал таки пересмотреть разрешения. Например с правом на удаления для овнера и с созданием/дозаписью для всех кто имеет доступ к шаре.

greg zakharov 12-08-2020 12:33 2930919

Цитата:

Цитата JimmLight
Подбить пример - указать свой путь? Попробовал, скрипт удаляет почти всё на своем пути.

В вашем случае "подбить" - не копипастить, изменив путь (хотя оный также потребуется поправить), а дополнить шаблон совпадений. Слово "пример" было употреблено неслучайно.

JimmLight 12-08-2020 12:35 2930920

Сделал следующим образом:
Код:

Get-ChildItem -Path "X:\Test" -Include "~$*.doc","~$*.docx","~$*.xlsx","~$*.xls","~$*.ppt","~$*.pptx" -Force -Recurse | Remove-Item -Force -Recurse

greg zakharov 12-08-2020 12:40 2930923

И получили crapcode. Удачи!.


Время: 15:59.

Время: 15:59.
© OSzone.net 2001-