Powershell script to clean up folders
I'm trying to figure out a way to delete the contents of the subfolders on a weekly basis; however, I would like to exclude deleting anything from ANY of the "archive" named subfolders (keeping their contents in place) in any of the user account FTP mailboxes.
Você pode concluir isso com uma lógica de script simples do PowerShell com um dos quatro que forneci abaixo, que usam caracteres de asterisco para curingas de arquivos e / ou pastas.
A lógica de exemplo abaixo usa Remove-Item incluindo o -Recurse
e -Exclude
parameters.
Acho que o exemplo mais importante (ou o logo abaixo dele) é o que você precisa com base na sua descrição , mas teste com todos, se necessário, para confirmar. Eu testei e confirmei que estes funcionam muito bem, e como esperado de uma pasta de teste no meu ambiente.
Eu sugeriria que você os testasse em seu ambiente apenas para confirmar que ele funcionasse da maneira esperada para as suas necessidades antes de executar qualquer pasta de produção apenas por precaução.
Exemplos de comandos do PowerShell
(Use o abaixo para excluir todos os arquivos com uma extensão de arquivo abaixo de C:\ftp\ftp-users\*\*\~
, excluindo QUALQUER subpasta denominada "Arquivo" e seu conteúdo das caixas de correio FTP nesse nível)
Remove-Item "C:\ftp\ftp-users\*\*\*.*" -Recurse -Exclude "Archive" -Force
(use o código abaixo para excluir todos os arquivos e todas as subpastas abaixo de C:\ftp\ftp-users\*\*\~
, excluindo QUALQUER
subpasta chamada "Arquivo" e seu conteúdo das caixas de correio FTP neste nível)
Remove-Item "C:\ftp\ftp-users\*\*\*" -Recurse -Exclude "Archive" -Force
(use o código abaixo para excluir todos os arquivos e todas as subpastas abaixo de C:\ftp\ftp-users\*\~
excluindo a subpasta denominada "Archive" e seu conteúdo das caixas de correio FTP este nível)
Remove-Item "C:\ftp\ftp-users\*\*" -Recurse -Exclude "Archive" -Force
(Use o abaixo para excluir todos os arquivos com uma extensão de arquivo abaixo de C:\ftp\ftp-users\*\~
e nada mais, para que ele não toque em QUALQUER subpasta das caixas de correio FTP nesse nível, sem% parâmetro-Exclude
)
Remove-Item "C:\ftp\ftp-users\*\*.*" -Recurse -Force