4

我正在尝试编写一个工具,该工具将自动存档服务器上的旧日志文件并从存档中删除太旧的文件。而且有问题。我需要使用 powershell 从 .ZIP 存档中删除单个文件,所以我这样做:

$testFile = "C:\test_logs\FirstEntry.zip"
$sh = New-Object -com shell.application
$zip = $sh.NameSpace($testFile)
$item = $zip.Items() | Select-Object -index 3
$item.InvokeVerb("Delete")

但是当我尝试以这种方式删除文件时,我会收到确认窗口。是否可以在不确认的情况下使用 InvokeVerb(ex) 删除文件?或者任何其他方式用powershell做到这一点?

4

1 回答 1

2

我发现的最简单的方法是:

$tmp_dir = $env:Temp + "\log_archivation_temp\"
$sh = New-Object -com shell.application
$tmp = $sh.NameSpace($tmp_dir)
$tmp.MoveHere($item.Path)
Remove-Item $tmp_dir

所以我只是将旧文件从存档移动到临时文件夹,然后将其删除。

于 2012-09-13T15:28:35.617 回答