如何使用命令行参数rar/ unar
本文关键字:unar rar 参数 何使用 命令行 | 更新日期: 2023-09-27 18:01:48
我已经通过互联网查看了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_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
您定义的StartInfo
在使用命令行运行WinRAR.exe
时的结果:
C:'Program Files'WinRAR'WinRAR.exe unrar x -p pw PL_LOCKED_ARCHIVE.rar
这当然是错误的,因为您不想运行WinRAR.exe
,第一个参数是对控制台版本Rar.exe
或UnRAR.exe
的引用。结果很可能是一个错误消息,因为无效的命令rar
分别unrar
作为第一个参数必须是a
或x
的WinRAR.exe
。
首先你需要修改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
的所有命令和开关。如果执行UnRAR.exe
时不带任何参数,则输出一个简短的帮助。
最后但并非最不重要的是,Rar.exe
有一个完整的手册,当然也可以从RAR存档中提取文件和文件夹,这使得UnRAR.exe
的额外使用毫无用处。本手册是WinRAR
的program files文件夹中的Rar.txt
文本文件,您应该从上到下阅读。我建议在读取命令行时构建命令行,并首先在命令提示符窗口内测试命令行。
注1:Rar.exe
为共享软件。只有UnRAR.exe
是免费软件。
注2:GUI版本WinRAR.exe
比控制台版本Rar.exe
支持更多的开关,因此开关列表略有不同。WinRAR.exe
的完整文档可以在WinRAR的帮助中找到,使用 help - help Topics或按F1键打开。在标签Contents的帮助中打开项命令行模式并读取。WinRAR.exe
也是共享软件
需要对文件数据和文件头进行加密。
根据文档(命令行模式> Switches> "-hp[pwd] -加密文件数据和文件头"):
这个开关类似于-p[p],但是-p开关只加密文件数据并使文件名等其他信息可见。这个开关加密所有敏感存档区域,包括文件数据、文件名、大小,属性,注释等块,所以它提供了一个更高安全级别。
你可以使用命令行访问它:
语法: 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();
}