Pergunta

Eu, então, para o alcatrão e, em seguida, gzip uma lista de arquivos em C #.

Eu preciso de alguma ajuda com a forma de definir os argumentos de alcatrão.

Say I têm tar.exe em uma pasta c: \ tar \ tar.exe e um método como o seguinte:

    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:. A lista fileNamePathsToTar tem os caminhos de nome de arquivo UNC completo e os arquivos podem estar em diferentes pastas

alguém pode ajudar por favor com o argumentos para abastecer.

Também eu aviso na documentação:

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

Não sabe como usar isso, mas se eu colocar o gzip.exe na mesma pasta como tar.exe posso executar minha alcatrão e, em seguida, gzip desses arquivos em um passo ?

Atualizar

Eu só consigo obter tar para trabalhar em arquivos no mesmo diretório como tar.exe se eu tentar um nome de caminho completo eu recebo algo como:

    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

Eu tentei com as barras em ambos os sentidos \ ou / e com aspas o caminho completo nenhuma alegria.

Graças

Foi útil?

Solução

para criar um arquivo e gzip-lo, você deve usar czf como argumentos, então

p.StartInfo.Arguments = "czf";

ou

p.StartInfo.Arguments = "-czf";

dependendo da versão do alcatrão.

para evitar gzipping, remova o 'z' dos argumentos.

ah, e é melhor tar uma pasta inteira, como colocar todo o seu arquivo em uma pasta chamada, por exemplo, myfolder e alcatrão essa pasta, não seu conteúdo.

Outras dicas

FYI, há uma biblioteca tar gerido com fonte completo na disponíveis http://cheeso.members.winisp.net/srcview. aspx? dir = Tar & file = Tar.cs

Há um makefile para permitir que você construa Tar.dll ou tar.exe. Há também um aplicativo de exemplo em VB.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top