大家都在编码。我需要找到我的应用程序的解决方案。实际上我做了但有一点要去。这是将文件压缩成我提到的rar格式文件的代码。
private const string RarPath = @"C:\Program Files\WinRAR\WinRAR.exe";
List<string> files = new List<string>();
public void RarFilesAdd(string rarPackagePath, List<string> files)
{
for (int i = 0; i < files.Count; i++) files[i] = string.Format("\"{0}\"", files[i]);
string dosyaListe = string.Join(" ", files.ToArray());
string arguman = string.Format("A {0} {1}", String.Format("\"{0}\"", rarPackagePath), dosyaListe);
Process.Start(String.Format("\"{0}\"", RarPath), arguman);
}
static void Main(string[] args)
{
// files.AddRange(System.IO.Directory.GetFiles(@""));
//RarFilesAdd(@"C:\my\test.rar", files);
Program nesne = new Program();
//
nesne.files.Add(@"C:\Users\Hüseyin\Desktop\AA\a.txt");
nesne.files.Add(@"C:\Users\Hüseyin\Desktop\AA\a1.txt");
nesne.RarFilesAdd(@"C:\Users\Hüseyin\Desktop\deneme.rar",nesne.files);
// nesne.files.AddRange(System.IO.Directory.GetFiles(@"C:\Users\Hüseyin\Desktop\deneme.rar"));
}
此代码使用完整路径创建rar文件,如deneme.rar中的C:\ Users \Hüseyin\ Desktop \ AA \ a1.txt。但我希望它创建为rar文件,其中没有任何文件夹。我想我没有明确解释。现在我点击deneme.rar它打开目录为Users \Hüseyin\ AA。但我想要位于AA的文件,直接保存在deneme.rar中,没有任何目录或文件。我想显示我想要的屏幕,但我没有做任何代表。
有没有人会帮助我,这将是非常棒的... 大家好日子
答案 0 :(得分:1)
您需要的命令行是:
"C:\Program Files\WinRAR\WinRAR.exe" a -ep "C:\Users\Hüseyin\Desktop\deneme.rar" "C:\Users\Hüseyin\Desktop\AA\a.txt" "C:\Users\Hüseyin\Desktop\AA\a1.txt"
在您的C#代码中,我错过了添加文件到存档的命令a
,但是您的代码仍然正常运行,因为此命令默认运行 WinRAR 而没有命令指定。
重要的是使用switch -ep
从文件名中删除路径,因此只在文件名中存储在RAR存档中。
有关可用命令和开关的详细信息,请参阅 WinRAR 的程序文件文件夹中的文本文件 Rar.txt 。
其他命令行也可以工作:
"C:\Program Files\WinRAR\WinRAR.exe" a -ep "C:\Users\Hüseyin\Desktop\deneme.rar" "C:\Users\Hüseyin\Desktop\AA\"
将目录C:\Users\Hüseyin\Desktop\AA\
中的所有文件添加到存档。
"C:\Program Files\WinRAR\WinRAR.exe" a -ep "C:\Users\Hüseyin\Desktop\deneme.rar" "C:\Users\Hüseyin\Desktop\AA\*.txt"
仅将目录为C:\Users\Hüseyin\Desktop\AA\
的文件扩展名为TXT的所有文件添加到存档。