PowerShell学习入门 - 5 (文件压缩与解压缩)

利用PowerShell压缩文件及文件夹

直接写代码了哈,在做备份的时候一定用得到的
function New-Zip
{
	param([string]$zipfilename)
	set-content $zipfilename ("PK" + [char]5 + [char]6 + ("$([char]0)" * 18))
	(dir $zipfilename).IsReadOnly = $false
}
#usage: new-zip c:\demo\myzip.zip

function Add-Zip
{
	param([string]$zipfilename)

	if(-not (test-path($zipfilename)))
	{
		set-content $zipfilename ("PK" + [char]5 + [char]6 + ("$([char]0)" * 18))
		(dir $zipfilename).IsReadOnly = $false
	}

	$shellApplication = new-object -com shell.application
	$zipPackage = $shellApplication.NameSpace($zipfilename)

	foreach($file in $input)
	{
            $zipPackage.CopyHere($file.FullName)
            Start-sleep -milliseconds 500
	}
}
#usage: dir c:\demo\files\*.* -Recurse | add-Zip c:\demo\myzip.zip

#List the files in a zip
function Get-Zip
{
	param([string]$zipfilename)
	if(test-path($zipfilename))
	{
		$shellApplication = new-object -com shell.application
		$zipPackage = $shellApplication.NameSpace($zipfilename)
		$zipPackage.Items() | Select Path
	}
}
#usage: Get-Zip c:\demo\myzip.zip

function Extract-Zip
{
	param([string]$zipfilename, [string] $destination)

	if(test-path($zipfilename))
	{
		$shellApplication = new-object -com shell.application
		$zipPackage = $shellApplication.NameSpace($zipfilename)
		$destinationFolder = $shellApplication.NameSpace($destination)
		$destinationFolder.CopyHere($zipPackage.Items())
	}
}
#usage: extract-zip c:\demo\myzip.zip c:\demo\destination


你可能感兴趣的:(PowerShell)