tar(Windows)c#のファイルのリスト
質問
次に、tarを実行し、C#でファイルのリストをgzipします。
引数をtarに設定する方法についてのヘルプが必要です。
フォルダc:\ tar \ tar.exeにtar.exeがあり、次のようなメソッドがあるとします:
private void RunTar(string outputFileName, List<string> fileNamePaths)
{
using (Process p = new Process())
{
p.StartInfo.FileName = @"c:\tar\tar.exe";
p.StartInfo.Arguments = //;
p.Start();
p.WaitForExit();
}
}
注:fileNamePathsToTarリストには完全なuncファイル名パスがあり、ファイルは異なるフォルダーに置くことができます。
引数の提供内容について誰でも助けてください。
また、ドキュメントで気づいた:
-z, --gzip, --ungzip
filter the archive through gzip
-Z, --compress, --uncompress
filter the archive through compress
--use-compress-program=PROG
filter through PROG (must accept -d)
これの使用方法がわからないが、gzip.exeをtar.exeと同じフォルダに配置した場合、 tarを実行してから、これらのファイルのgzipをすべて1ステップで実行できます?
更新
フルパス名を試してみると、tar.exeと同じディレクトリにあるファイルでtarが動作するようにしか見えません。
C:\Tar Test>tar -cf out.tar c:/Tar Test/Text/t1.txt
tar: Cannot add file c:/Tar: No such file or directory
tar: Cannot add file Test/Text/t1.txt: No such file or directory
tar: Error exit delayed from previous errors
スラッシュを両方の方法で試してみました\または/と、完全なパスを引用符で囲んで喜びません。
ありがとう
解決
アーカイブを作成してgzipするには、引数としてczfを使用する必要があるため、
p.StartInfo.Arguments = "czf";
または
p.StartInfo.Arguments = "-czf";
tarバージョンに依存。
gzipを回避するには、引数から「z」を削除します。
ああ、コンテンツ全体ではなく、すべてのファイルをmyfolderなどの名前のフォルダーに入れて、そのフォルダーをtarするように、フォルダー全体をtarした方が良いでしょう。
他のヒント
FYI、完全なソースが利用可能な管理されたtarライブラリがあります。 http://cheeso.members.winisp.net/srcview。 aspx?dir = Tar&amp; file = Tar.cs
Tar.dllまたはTar.exeをビルドできるメイクファイルがあります。 VBにはサンプルアプリもあります。