2

大家好,那些正在编码的人。我需要为我的应用程序找到解决方案。实际上我做了,但还有一些工作要做。这是我提到的将文件压缩成 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"));

    }

此代码在 deneme.rar 中创建具有完整路径的 rar 文件,如 C:\Users\Hüseyin\Desktop\AA\a1.txt。但我希望它创建为 rar 文件,其中没有任何文件夹。我想我没有解释清楚。现在当我点击 deneme.rar 时,它打开目录为 Users\Hüseyin\AA 。但是我想要位于 AA 中的文件,直接保存在 deneme.rar 中,没有任何目录或文件。我想显示我想要的屏幕,但我没有这样做,因为代表。

如果有人会帮助我,那就太好了......大家好

4

1 回答 1

2

您需要的命令行是:

"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时是默认的,没有指定命令。

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

仅将目录中具有文件扩展名 TXT 的所有文件添加C:\Users\Hüseyin\Desktop\AA\到存档。

于 2014-07-05T09:33:51.357 回答