سؤال

ثم إلى القطران ثم gzip قائمة من الملفات في C#.

أنا بحاجة إلى بعض المساعدة في كيفية تعيين الحجج القطران.

أقول لقد tar.exe في مجلد c: ar ar.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 يمكنني أداء عملي القطران ثم gzip هذه الملفات في خطوة واحدة?

التحديث

أنا يمكن أن يبدو فقط إلى الحصول على القطران للعمل على الملفات في نفس الدليل كما tar.exe إذا حاولت اسم مسار كامل أحصل على شيء من هذا القبيل:

    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";

اعتمادا على القطران الإصدار.

لتجنب gzipping والمساعد, إزالة 'z' من الحجج.

آه ، من الأفضل أن القطران مجلد كامل ، مثل وضع كل ملف في مجلد اسمه مثلا myfolder والقطران هذا المجلد وليس المحتوى.

نصائح أخرى

لمعلوماتك هناك تمكنت القطران مكتبة كاملة المصدر المتاحة في http://cheeso.members.winisp.net/srcview.aspx?dir=Tar&file=Tar.cs

هناك makefile أن تسمح لك لبناء Tar.dll أو Tar.exe.هناك أيضا عينة التطبيق في VB.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top