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를 수행 할 수 있습니까??
업데이트
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에는 샘플 앱도 있습니다.