2017-12-06 19 views
0

これは私がファイルを圧縮するためにpowershellを使ってやろうとしていることです。 xxxの日 powershellを使用したzipファイル

  • より古い

    1. ソートアウトファイルはzipファイルにこれらのファイルを追加します。
    2. ソースファイルを削除します。

    Powershell_Community_Extensionsがインストールされているので、私はWrite-zipを使って仕事をしています。

    $Source = "\\network\share" 
    $files = Get-ChildItem -Path $Source | Where-Object {$_.LastWriteTime -lt (get-date).AddDays(-62)} 
    
    $files | Write-Zip -OutputPath $Source\Archive.zip -EntryPathRoot $Source -Append -Quiet 
    
    Remove-Item $files -Force 
    

    問題:

    私はWrite-zip-EntryPathRootを使用する必要が
    1. 、それ以外は文句を言わない
    2. 削除項目は、ネットワーク共有からピックアップファイルを文句を言わないネットワーク共有を拾う、それは"Remove-Item : Cannot find path 'C:\Windows\system32\feb03.txt' because it does not exist."、なぜそれを言いますC:\Windows\system32\のファイルを\\network\share
    3. の代わりに削除しましたが、そのファイルのルートにファイルを追加するだけではありません実際には、zipのルートにフォルダ構造全体が作成され、そのフォルダ構造の最後に新しいフィルタされたファイルが追加されました。私はちょうどそのzipファイルのルートに新しいフィルタリングされたファイルを追加したい。

    どうぞよろしくお願いします。 V5の*のアーカイブコマンドレットを利用し

  • +0

    のPowerShellのバージョンは、あなたがオンになっていますか? v5の場合、組み込みの '* Archive'コマンドレットがあります – TheIncorrigible1

    +0

    ハム....そのことはわかりませんでした。私は今それを試してみます。 –

    答えて

    1

    $Source = '\\network\share' 
    $Files = Get-ChildItem -Path $Source | 
        Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-62) } 
    Compress-Archive -Path $Files.FullName -DestinationPath $Source\Archive.zip -CompressionLevel Optimal -Update 
    
    $Files | Remove-Item -Force 
    
    関連する問題