2016-06-16 12 views
1

問題を解決していないため、このコンセプトを調整しようとすると問題が発生します。複数のファイルを1つのフォルダにジップする

私は複数行textboxを持っているし、コンマで区切って複数の値を入力し、ここに詳細があることができます。

  1. 各値は、フォルダ
  2. を表し、各フォルダには、複数のドキュメント/
  3. 内の他のフォルダすべてを持っていますこれらの値は1つのメインディレクトリにあります(フォルダパスと呼ぶことができます)

たとえば、テキストボックス「65635,65636」これらの各すなわちディレクトリのフォルダを表す「\フォルダパス\ 65635」「\フォルダパス\ 65636」、私は経由でこれらのフォルダ全体を圧縮しようとしていますDotNetZiplib、私は具体的に1つのフォルダを参照する場合、これを行う方法を知っていますが、フォルダの名前を取得し、1つのzipフォルダにファイルを追加するためにテキストボックスをループする場所がありますか?それは一つの大きなファイルだと仮定とは対照的に、私が持っている

Using zip As New ZipFile = new ZipFile 
Dim files() As String = Directory.GetFiles(folderpath & textboxvalue) 
For each textboxvalue in directory.getfiles 
    zip.Addfile(textboxvalue) 

zipfile機能は、これらをループに知っているだろう。

+0

@ jean55はあなたに感謝します!しかし、私は私の上司を誤解していました。私はサードパーティの図書館を使うことができると言っていました。彼は私のすべてをループしたいと思っていました。あなたの答え(質問の中の私のセクションはうまくいきません。 )と私はどのように知っていない、あなたはdotnetziplibに関する情報がありますか?正しいことを意味する答えをチェックしていますか?私は何か別のことをしなくてはなりませんか?申し訳ありませんが、私はまだコメントのハングを取得しています。 – jean55

+0

回答を受け入れて投票する方法については、このリンク**を参照してください(http://stackoverflow.com/help/someone-answers)。この[**リンク**](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)も便利です。 – Codexer

+0

@Zagglerすべてのヘルプとリンクをありがとう、もう一度ありがとう:)私は各質問でVBについてもっと理解しています! – jean55

答えて

1

最初に配列のテキストボックス値を分割して、カンマで区切って数値を取得する必要があります。次に、フォルダをこの分割されたテキスト値と組み合わせて、パスを正しく作成する必要があります。

「はい」の場合はフォルダが存在するかどうかを確認し、ディレクトリからすべてのファイルを取得し、各ファイル名をzipします。このような

何か:それは働いていたので、はい、私は完全なようzagglersを確認

Using zip As New ZipFile("your zip filename") 
For Each str As String In textboxvalue.Split(",") 
    Dim path as String = System.IO.Path.Combine(folderpath, str) 
    If System.IO.Directory.Exists(path) = False Then 
     Continue For 
    End If 

    Dim files() As String = Directory.GetFiles(path) 

    For Each fileName As String In files 
     zip.Addfile(fileName) 
    Next 
Next 
End Using 
+1

***なぜOPソリューション***が機能していないのか説明してください。この投稿は、OPロジックが機能していない理由について何も説明していません。解決策を投稿することは問題を説明することの1つであり、問​​題を解決する方法は、OPが問題を理解し解決する方法を理解するのに役立つ優れたソリューションです。 – Codexer

+0

はい、あなたは正しいです! – pedrofernandes

+0

ありがとう、これはより有益です。 – Codexer

関連する問題