C# 如何使用命令行参数进行rar/UNRR
我已经通过互联网了解了winrar的命令行参数是如何工作的,这就是我目前所了解的C# 如何使用命令行参数进行rar/UNRR,c#,winrar,C#,Winrar,我已经通过互联网了解了winrar的命令行参数是如何工作的,这就是我目前所了解的 void LOCK(string fld, string pw) { Process p = new Process(); p.StartInfo.FileName = @"C:\Program Files\WinRAR\WinRAR.exe"; p.StartInfo.Arguments = "rar a -p" + pw + " PL_LO
void LOCK(string fld, string pw)
{
Process p = new Process();
p.StartInfo.FileName = @"C:\Program Files\WinRAR\WinRAR.exe";
p.StartInfo.Arguments = "rar a -p" + pw + " PL_LOCKED_ARCHIVE.rar " + fld;
p.Start();
}
void UNLOCK(string fld, string pw)
{
Process p = new Process();
p.StartInfo.FileName = @"C:\Program Files\WinRAR\WinRAR.exe";
p.StartInfo.Arguments = "unrar x -p" + pw + " PL_LOCKED_ARCHIVE.rar";
p.Start();
}
但是,它似乎不会在任何地方创建任何存档,因为测试文件夹是C:\PicsAndStuff您需要加密文件数据和标题 根据(命令行模式>开关>“-hp[pwd]-加密文件数据和标题”): 此开关类似于-p[p],但开关-p仅加密文件数据 并使文件名等其他信息可见。这个开关 加密所有敏感归档区域,包括文件数据、文件名、, 大小、属性、注释和其他块,因此它提供了更高的 安全级别 以下是使用命令行访问它的方式:
C:\Program Files\WinRAR\WinRAR.exe unrar x -p pw PL_LOCKED_ARCHIVE.rar
语法:rar a-hp[MyPassword]-r[filepath][folderpath]
"C:\Program Files\WinRAR\WinRAR.exe" a -hp12345678 -r d:\zipProject d:\Project
C#代码:
void LOCK(string fld, string pw)
{
Process p = new Process();
p.StartInfo.FileName = @"C:\Program Files\WinRAR\WinRAR.exe";
p.StartInfo.Arguments = "rar a -hp" + pw + " PL_LOCKED_ARCHIVE.rar " + fld;
p.Start();
}
StartInfo
使用命令行定义运行WinRAR.exe
的结果:
C:\Program Files\WinRAR\WinRAR.exe unrar x -p pw PL_LOCKED_ARCHIVE.rar
这当然是错误的,因为您不想运行WinRAR.exe
,而第一个参数是对控制台版本Rar.exe
或unar.exe
的引用。结果很可能是错误消息,因为无效的命令rar
分别unar
,因为WinRAR.exe
的第一个参数必须是a
或x
因此,首先您需要更正StartInfo
:
void LOCK(string fld, string pw)
{
Process p = new Process();
p.StartInfo.FileName = @"C:\Program Files\WinRAR\Rar.exe";
p.StartInfo.Arguments = "a -p" + pw + " PL_LOCKED_ARCHIVE.rar " + fld;
p.Start();
}
void UNLOCK(string fld, string pw)
{
Process p = new Process();
p.StartInfo.FileName = @"C:\Program Files\WinRAR\UnRAR.exe";
p.StartInfo.Arguments = "x -p" + pw + " PL_LOCKED_ARCHIVE.rar";
p.Start();
}
此外,当在命令提示窗口中不带任何参数地简单运行Rar.exe
时,将简要说明控制台版本Rar.exe
的所有命令和开关。如果在没有任何参数的情况下执行,unar.exe也会输出一个简短的帮助
最后但并非最不重要的一点是,有一个完整的Rar.exe
手册,当然也可以从Rar存档中提取文件和文件夹,这使得额外使用unrr.exe
毫无用处。本手册为WinRAR
程序文件文件夹中的文本文件Rar.txt
,您应自上而下阅读。我建议在读取命令行的同时构建命令行,并首先在命令提示符窗口中测试命令行
注1:
Rar.exe
是共享软件。只有unrr.exe
是免费软件
注2:
GUI版本
WinRAR.exe
支持多个控制台版本Rar.exe
,因此交换机列表略有不同。有关WinRAR.exe
的完整文档,可以在使用帮助-帮助主题打开的WinRAR帮助中找到,或者按F1键。在选项卡内容的帮助中打开项目命令行模式并阅读WinRAR.exe
也是共享软件。问题是没有创建rar文件,也不是没有加密文件名似乎没有任何效果,即使我这样做了p.StartInfo.Arguments=@“rar a-hp”+pw+@“C:\Users\Elmeri\PL\u LOCKED_ARCHIVE.rar”+fld代码>它不会在C:\Users\Elmeri中创建rar