Показать сообщение отдельно
Старый 07.02.2011, 18:03   #2  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,342 / 3563 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Посмотрите тут: http://blogs.msdn.com/b/daiken/archi...ar-gadget.aspx
Создание архива
PHP код:
function New-Zip
{    
        
param([string]$zipfilename)    
        
set-content $zipfilename ("PK" + [char]+ [char]+ ("$([char]0)" 18))    
        (
dir $zipfilename).IsReadOnly $false
}
 
usage: new-zip c:\demo\myzip.zip 
и распаковка:

PHP код:
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())    
      }
}
 
usageextract-zip c:\demo\myzip.zip c:\demo\destination 
До кучи - добавление в архив:
PHP код:
function Add-Zip
{
    
param([string]$zipfilename)
    if(-
not (test-path($zipfilename)))
    {
        
set-content $zipfilename ("PK" + [char]+ [char]+ ("$([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
    
}
}
 
usagedir c:\demo\files\*.* -Recurse add-Zip c:\demo\myzip.zip 
И получение списка файлов:

PHP код:
function Get-Zip
{
    
param([string]$zipfilename)
    if(
test-path($zipfilename))
    {
        
$shellApplication = new-object -com shell.application
        $zipPackage 
$shellApplication.NameSpace($zipfilename)
        
$zipPackage.Items() | Select Path
    
}
}
 
usageGet-Zip c:\demo\myzip.zip 
__________________
Возможно сделать все. Вопрос времени

Последний раз редактировалось sukhanchik; 07.02.2011 в 18:11.