脚本删除软件的问题



我发现下面的脚本应该只创建一个还原点,干净的温度,磁盘清理和磁盘优化。唯一的问题是,当我运行它时,它删除了我所有的软件。幸运的是,我有一个还原点,但我似乎不明白为什么会这样。出于学习的目的,我希望有人指出其中的错误,以便更好地理解它。

# 1.creating the restore point 
Checkpoint-Computer -Description "Weekly Maintanence" -RestorePointType "MODIFY_SETTINGS"
Write-Host "System Restore Point created successfully"
#3.Delete Temp Files

$objShell = New-Object -ComObject Shell.Application   
$objFolder = $objShell.Namespace(0xA)   

$temp = get-ChildItem "env:TEMP"   
$temp2 = $temp.Value   

$WinTemp = "c:WindowsTemp*"   

# Remove temp files located in "C:UsersUSERNAMEAppDataLocalTemp"   
write-Host "Removing Junk files in $temp2." -ForegroundColor Magenta    
Remove-Item -Recurse  "$temp2*" -Force -Verbose   

# Remove Windows Temp Directory (Folder)    
write-Host "Removing Junk files in $WinTemp." -ForegroundColor Green   
Remove-Item -Recurse $WinTemp -Force    

#5. Running Disk Clean up Tool    
write-Host " Running Windows disk Clean up Tool" -ForegroundColor Cyan   
cleanmgr /sagerun:1 | out-Null  
$([char]7)   
Sleep 1    
$([char]7)   
Sleep 1        

write-Host "Clean Up Task completed !" "

除非您将程序安装在一个TEMP文件夹中,否则您的问题不在于PowerShell或您的代码。这可能是由于cleanmgr之前保存了/sageset(cleanmgr /sageset:1cleanmgr /tuneup:1),或者cleanmgr存在一些问题。cleanmgr /sagerun:1将使用之前保存在/sageset:1中的任何设置运行。


我唯一不清楚的是这一块ASCII码07是Bell字符,这给了窗口的注意(使任务栏图标闪烁)当[char]7被写入控制台。

$([char]7)

最新更新