使用Shell命令在.net 4.0中无需外部包即可解压缩
本文关键字:外部 包即可 解压缩 命令 Shell net 使用 | 更新日期: 2023-09-27 18:24:18
我想知道是否可以在不使用.net 4.0或更低版本中的开源dll的情况下解压缩c sharp中的文件?
我有一些VBA代码(下面)使用"Shell"命令。c sharp也有可能这样做吗?
Sub UnzipMe(path)
Dim strDOSCMD As String
Dim filename As String
Dim i As Integer
filename = path + "'test.txt"
strDOSCMD = "unzip -n " + path + "'zipfile.zip -d " + path
'SEND TO DOS
retval = Shell(strDOSCMD, vbHide)
End Sub
这很好用,也很简单,但我想用c语言完成,而不是混搭。这肯定是可行的,还是应该有一个同样简单的解决方案?
您可以使用Process.Start
在C#中启动进程。
你的代码可能看起来像(未测试..):
public void UnzipMe(string path){
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/C unzip -n " + path + "'zipfile.zip -d " + path;
process.StartInfo = startInfo;
process.Start();
//do some extra stuff here
}
对于zip的东西,考虑使用像sharpziplib
这样的第三方库,我在许多项目中都成功地使用了它。
看看这些示例:https://github.com/icsharpcode/SharpZipLib/wiki/Zip-Samples