2011年2月17日木曜日

◆Zipファイル(圧縮ファイル)を作る

出力先のZipファイルになにやらおまじないの文字を突っ込んでおくようだ。

001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021

<#
.SYNOPSIS
  Zip圧縮ファイルを作る
.DESCRIPTION
  フォルダーまたはファイルを指定して同一フォルダーにZipファイルを作る
.EXAMPLE
  makezip.ps1 "D:\test"
  makezip.ps1 "D:\test\sample.txt"
#>

param
(
 
[parameter(Mandatory=$true,
    HelpMessage="圧縮したいファイル(フォルダ)のパスを指定してください。")]
   [ValidateScript({Test-Path $_})]
  $target
 
)

$targetobj = Get-Item 
$target
$zipfile
 = ($targetobj.fullname -replace $targetobj.Extension,"") + ".zip"
Set-Content $zipfile ("PK" + [char]5 + [char]6 + ("$([char]0)" * 18))
$zip = (new-object -com shell.application).NameSpace($zipfile) 

$zip.CopyHere(
$target)

0 件のコメント:

コメントを投稿