문제

그런 다음 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를 수행 할 수 있습니까??

업데이트

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

TAR 버전에 따라.

gzipp를 피하려면 인수에서 'z'를 제거하십시오.

아, 그리고 당신은 모든 파일을 폴더, 예를 들어, myfolder 및 tar 폴더에 폴더에 넣는 것처럼 전체 폴더를 타르 더 좋습니다.

다른 팁

참고로, 전체 소스가있는 관리 TAR 라이브러리가 있습니다.http://cheeso.members.winisp.net/srcview.aspx?dir=tar&file=tar.cs

tar.dll 또는 tar.exe를 만들 수있는 makefile이 있습니다. VB에는 샘플 앱도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top