Upload files to "Microsoft"
This commit is contained in:
parent
8db1be28f9
commit
64193ccb2a
76
Microsoft/Delete_temporary_files.ps1
Normal file
76
Microsoft/Delete_temporary_files.ps1
Normal file
|
|
@ -0,0 +1,76 @@
|
||||||
|
# Script by Timur@0x01337.com
|
||||||
|
# Date: 2023-11-24
|
||||||
|
<#
|
||||||
|
.DESCRIPTION
|
||||||
|
Deletes all files in the specified temporary folder. If no arguments are specified, deletes the files in the folder specified in the "TEMP" environment variable.
|
||||||
|
|
||||||
|
Requires administrator privileges.
|
||||||
|
|
||||||
|
.PARAMETER path
|
||||||
|
Optional. A path to folder with temporary files.
|
||||||
|
By default, uses the path specified in the 'TEMP' environment variable.
|
||||||
|
|
||||||
|
.PARAMETER help
|
||||||
|
Displays a detailed usage description of this script.
|
||||||
|
|
||||||
|
.EXAMPLE
|
||||||
|
PS> .\Delete-Temporary-Files.ps1
|
||||||
|
|
||||||
|
.EXAMPLE
|
||||||
|
PS> .\Delete-Temporary-Files.ps1 -path "path-to-tmp"
|
||||||
|
|
||||||
|
.EXAMPLE
|
||||||
|
PS> .\Delete-Temporary-Files.ps1 -help
|
||||||
|
#>
|
||||||
|
|
||||||
|
# Getting command line parameters
|
||||||
|
param (
|
||||||
|
[parameter(Mandatory = $false)][string]$path,
|
||||||
|
[parameter(Mandatory = $false)][switch]$help
|
||||||
|
)
|
||||||
|
|
||||||
|
$currentPrincipal = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())
|
||||||
|
$isAdmin = $currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
|
||||||
|
if (!$isAdmin) {
|
||||||
|
Write-Error "This script requires administrator privileges"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Writing help message
|
||||||
|
if ($help) {
|
||||||
|
get-help $MyInvocation.MyCommand.Path -Full
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$path) {
|
||||||
|
$path = $env:TEMP
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(Test-Path $path)) {
|
||||||
|
Write-Error "$path is not exist"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Host "Temporary path to clean: $path"
|
||||||
|
|
||||||
|
$items = Get-ChildItem -Path $path -Recurse
|
||||||
|
$beforeClean = $items.Count
|
||||||
|
Write-Host "$beforeClean files and folders to be cleaned"
|
||||||
|
|
||||||
|
foreach ($item in $items) {
|
||||||
|
try {
|
||||||
|
Remove-Item -Path "$path\$item" -Force -Recurse -ErrorAction Stop
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
if ($_.tostring().Contains("it is being used by another process")) {
|
||||||
|
Write-Warning $_
|
||||||
|
}
|
||||||
|
Continue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$items = Get-ChildItem -Path $path -Recurse
|
||||||
|
$afterClean = $items.Count
|
||||||
|
Write-Host "$($beforeClean - $afterClean) files and folders was cleaned"
|
||||||
|
|
||||||
|
exit 0
|
||||||
Loading…
Reference in a new issue