自动删除Windows机器中的临时文件内容

时间:2013-01-08 11:23:51

标签: powershell

我正在使用Windows XP。现在我遇到了一些导致PC运行缓慢的问题。因此,我经常需要从目录C:\WINDOWS\Temp中删除一些临时文件。有没有办法自动完成脚本?

错误

当我尝试从我的机​​器运行脚本时出现以下错误:

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\rakshiar>D:\WIPData\cleanup.ps1

C:\Documents and Settings\rakshiar>powershell.exe D:\WIPData\cleanup.ps1
File D:\WIPData\cleanup.ps1 cannot be loaded because the execution of scripts i
s disabled on this system. Please see "get-help about_signing" for more details
.
At line:1 char:23
+ D:\WIPData\cleanup.ps1 <<<<
    + CategoryInfo          : NotSpecified: (:) [], PSSecurityException
    + FullyQualifiedErrorId : RuntimeException


C:\Documents and Settings\rakshiar>

由于

2 个答案:

答案 0 :(得分:5)

你必须改变你的executionPolicy(默认情况下powershell不允许运行脚本),所以以管理员身份运行powershell并运行: Set-ExecutionPolicy remotesigned

答案 1 :(得分:1)

我使用此PowerShell脚本清理Windows机器上的文件夹。它通过计划任务运行;使用类似这样的命令“powershell.exe&amp;'c:\ psbin \ cleanup.ps1'”。

$dir = "C:\SomeDirectory"
$d = [System.DateTime]::Now.AddDays(-1)
gci -recurse $dir | ?{ !$_.psiscontainer -and $_.LastWriteTime -lt $d } | %{ remove-item -Force $_.FullName }

这会删除超过一天的文件。更改AddDays以更改此值。