none
ZIPフォルダへのファイル移動について RRS feed

  • 質問

  • いつもお世話になっております。

    現在、あるファイル群をZIP圧縮フォルダーへ移動するスクリプトを検討しております。

    コピーすることは出来たのですが、移動させるための方法がわかりません。

    CopyHereをMoveHereに変更してみたのですが、ZIPフォルダにファイルは移動するのですが

    元ファイルが削除されません。

    単純にMoveHereに変更しただけでは、駄目なのでしょうか?

     

    コピーした後に、ファイルを削除するコマンドを実行することで解決はしますが、あまりスマートではないので

    エクスプローラ上の操作で行う右クリックで「ここに移動」と同じような事を実現したいと思っております。

     

    どうぞ、宜しくお願い致します。

     

    #**********************************************************************************************************
    #ZIPフォルダを予め作成しておかなくても、存在しなければ作成してくれます。
    #
    #usage: dir c:\test\Archive-Application*.evt -Recurse | .\add-Zip.ps1 c:\test\Archive-Application.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
     }

    2008年10月28日 9:19

回答

  • 難しいんじゃないでしょうか。

    例えば、非表示のエクスプローラで開いて、メッセージを飛ばして、メニューを操作すれば、できなくもないでしょうが、それをPowerShellでやるのは大変でしょう。

    それより、コピーして削除するほうが簡単です。
    2008年10月29日 11:29

すべての返信

  • 難しいんじゃないでしょうか。

    例えば、非表示のエクスプローラで開いて、メッセージを飛ばして、メニューを操作すれば、できなくもないでしょうが、それをPowerShellでやるのは大変でしょう。

    それより、コピーして削除するほうが簡単です。
    2008年10月29日 11:29
  • こんにちは。中川俊輔 です。

     

    ウィンドウズスクリプトプログラマさん、回答ありがとうございます。

     

    ユクヒロさん、フォーラムのご利用ありがとうございます。

    その後いかがでしょうか?

    有用な情報と思われたため、

    ウィンドウズスクリプトプログラマさんの回答へ回答済みチェックをつけさせていただきました。

     

    今後ともフォーラムをよろしくお願いします。

    それでは!

     

    2008年11月12日 8:03