2
我一直在使用功能的PowerShell要解压的大量文件:解压在PowerShell中不清除临时文件
function Expand-ZIPFile($file, $destination)
{
$shell = new-object -com shell.application
$zip = $shell.NameSpace($file)
foreach($item in $zip.items())
{
$shell.Namespace($destination).copyhere($item)
}
}
我称之为使用类似:
Expand-ZIPFile -File "$dir\$zip_file" -Destination $work_dir
我发现这个过程在创建一个临时文件 C:\ Documents and Settings \ ftpuser \ Local Settings \ Temp
对于这些文件中的每一个我都解压缩了,过去mont它已经生成了近800GB的临时文件。
问:是否有一种方法来
- 从摆在首位创建一个临时文件停止解压过程?
- 强制我的脚本在退出之前清理这些文件?
我无法在Windows 7中复制这种行为,这也观察到这里(http://forums.anandtech.com/showthread.php?t=2217442)。不理想,但我想你可以从%temp%目录清空最近的文件。说..最后10分钟编辑? – Matt 2014-10-18 03:09:47
我会注意到,创建或解压缩zip文件的Shell.Application破解不是自动化友好的(没有状态检查,它是异步的等)。看到这里:[http://social.msdn.microsoft.com/Forums/vstudio/en-US/760ea95b-4c3e-4f48-a0f6-9d728d5580da/](http://social.msdn.microsoft.com/Forums/ vstudio/EN-US/760ea95b-4c3e-4f48-a0f6-9d728d5580da /)。使用命令行解压缩工具(例如[7-Zip](http://www.7-zip.org))的99%时间更简单。 – 2014-10-18 16:08:45