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