在 Windows 下使用Expand - Archive命令(通过system函数调用 PowerShell 命令) 假设从C:\test.zip中提取file.txt到C:\
时间: 2024-10-15 09:12:24 浏览: 37
在Windows系统下,如果你想通过PowerShell的`Expand-Archive`命令从C:\test.zip文件中提取file.txt到C:\目录,可以使用以下步骤。首先,你需要通过System.Diagnostics.Process类的StartInfo属性来启动一个PowerShell进程,并传递命令行参数。
```csharp
using System;
using System.Diagnostics;
public class Program
{
public static void Main()
{
string sourceFile = "C:\\test.zip";
string destinationFolder = "C:\\";
// 创建一个ProcessStartInfo对象
ProcessStartInfo psi = new ProcessStartInfo("powershell.exe");
psi.UseShellExecute = false; // 设置不直接打开终端窗口
psi.RedirectStandardOutput = true; // 重定向输出流
// 指定命令行参数,展开zip并指定目标路径
psi.Arguments = $"-Command Expand-Archive {sourceFile} -DestinationPath {destinationFolder} -Force"; // "-Force"选项用于覆盖已存在的文件
try
{
// 启动PowerShell进程
using (var process = Process.Start(psi))
{
process.WaitForExit(); // 等待进程完成
if (process.ExitCode == 0) // 如果退出码为零,说明操作成功
{
Console.WriteLine("解压操作成功!");
}
else
{
Console.WriteLine($"解压操作失败,错误代码: {process.ExitCode}");
}
}
}
catch (Exception ex)
{
Console.WriteLine($"发生异常: {ex.Message}");
}
}
}
```
阅读全文