2017-01-16 3 views
0

Compress-Archiveにサブフォルダ構造のみを圧縮するにはどうすればよいですか?今のように、スクリプトそのものは.zipに含まれています。または、それをフィルタリングすることは可能ですか?次のようにスクリプト内の圧縮アーカイブにはスクリプト自体が含まれています

私が得たコードは次のとおりです。

if (!($PSScriptRoot)) { Split-Path $MyInvocation.MyCommand.Path -Parent } 
$destination = Split-Path $MyInvocation.MyCommand.Path -Parent 
$source = (Get-ChildItem $PSScriptRoot) 
$date = Get-Date -UFormat "%Y-%m-%d" 
$zipfile = $destination + "\createdOn" + $date + ".zip" 

#Check if file exists 
if ([System.IO.File]::Exists($zipfile)) 
{ 
    Clear-Host 
    Write-Host "File created: " $zipfile 
    Compress-Archive -DestinationPath $zipfile -Force -Path $source -CompressionLevel Optimal 
} 
else 
{ 
    Clear-Host 
    Write-Host "File created: " $zipfile 
    Compress-Archive -DestinationPath $zipfile -Force -Path $source -CompressionLevel Optimal 
} 
+0

あなたはPowerShellのv2の中で '圧縮-Archive'を使用できることを期待するにはどうすればよいですか? –

答えて

1

は試してみてください。

$source = (Get-ChildItem $PSScriptRoot -exclude $MyInvocation.MyCommand) 
1

あなたが$PSScriptRootの子項目(スクリプトの親フォルダ)に$sourceを設定し、作成した場合これらのアイテムのアーカイブは、結果のアーカイブではないので、には、その非常にフォルダの子アイテムの1つのスクリプトが含まれていますか?

は、アーカイブ内の混入を避けるために、$sourceからスクリプトファイルを削除します。

$source = Get-ChildItem $PSScriptRoot | 
      Where-Object { $_.FullName -ne $PSCommandPath } 
関連する問題