Domanda

Poi ho tar e poi gzip un elenco di file in C #.

Ho bisogno di aiuto per impostare gli argomenti su tar.

Dire che ho tar.exe in una cartella c: \ tar \ tar.exe e un metodo come il seguente:

    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();
        }
    }

Nota: l'elenco fileNamePathsToTar contiene tutti i percorsi unc nome file e i file possono trovarsi in cartelle diverse.

Qualcuno può aiutare con quali argomenti fornire.

Inoltre noto nella documentazione:

-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)

Non sono sicuro di come utilizzarlo, ma se inserisco gzip.exe nella stessa cartella di tar.exe posso eseguire il mio tar e quindi gzip di questi file in un solo passaggio ?

Aggiorna

Mi sembra di far funzionare tar solo sui file nella stessa directory di tar.exe se provo un nome percorso completo ottengo qualcosa del tipo:

    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

Ho provato con le barre in entrambi i modi \ o / e con le virgolette in tutto il percorso senza gioia.

Grazie

È stato utile?

Soluzione

per creare un archivio e decomprimerlo, dovresti usare czf come argomento, quindi

p.StartInfo.Arguments = "czf";

o

p.StartInfo.Arguments = "-czf";

a seconda della versione tar.

per evitare il gzipping, rimuovi la "z" dagli argomenti.

ah, e faresti meglio a tar un'intera cartella, come mettere tutti i tuoi file in una cartella denominata, ad esempio myfolder e tar quella cartella, non il suo contenuto.

Altri suggerimenti

Cordiali saluti, c'è una libreria tar gestita con sorgente completa disponibile su http://cheeso.members.winisp.net/srcview. ? aspx dir = Tar & amp; file = Tar.cs

Esiste un makefile che ti consente di compilare Tar.dll o Tar.exe. C'è anche un'app di esempio in VB.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top