tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル VB.NETでの圧縮(コマンドライン)について
投稿日: 2007/03/30(Fri) 18:02
投稿者キューブ
【OS】Windows XP SP2  【VBのVer】VB.NET2003
はじめまして。キューブです。
VBでの開発は初心者です。また、コマンドラインを使用するのは初めてです。

現在、VB.NETで7-zipによる圧縮をしようと試みています。
圧縮の動作には入り、圧縮されたファイルも出来るのですが、出来たファイルを
解凍すると、対象ファイルではなく、作成中のVBプロジェクトと同じ階層にあるbinフォルダ
の内容が圧縮されています。

おそらくコマンドラインの引数がうまく渡っていないのだと思い
色々と調べたのですが、その解決方法がわかりません。
過去ログに同様の質問があり、解決されていたのですが自分にはわかりませんでした。。。

圧縮部分のコードは以下の様に作成しました。
Bk_FileName '作成する圧縮ファイル名
CurMem '"C:\バックアップ\"(これは不変です)
FileMem '対象ファイル名(ファイル作成時の変数をそのまま使用しています)

対象ファイル・圧縮ファイルともに日本語と'_'が含まれています。

よろしくご教授ください。

**************************************************************************************
Sub SevenZ() 'ファイル圧縮

Dim hWnd As Integer
Dim szCmdLine As String
Dim szOutput As String
Dim szsize As Integer
Dim SevenZ1 As Integer

szOutput = Space(1024)
szsize = 1024
hWnd = Nothing
CurMem = GetDirectoryMemberSplit(Bk_FileName, DirMem, FileMem)

szCmdLine = "a -t7z " & Chr(34) & Bk_FileName & ".7z" & Chr(34) & " " & Chr(34) _
& CurMem & chr(34) & FileMem & " -mx1"

SevenZ1 = SevenZip(hWnd, szCmdLine, szOutput, szsize)

If SevenZ1 <> 0 Then
MsgBox("圧縮に失敗しました" & szOutput, MsgBoxStyle.OKOnly, "圧縮処理結果")
Else
MsgBox("圧縮完了", MsgBoxStyle.OKOnly, "圧縮処理結果")
End If

End Sub
**************************************************************************************

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。