C++ 使用Powershell命令提取zip文件

C++ Extracting Zip File using Powershell Command

本文关键字:zip 文件 提取 命令 使用 Powershell C++      更新时间:2023-10-16

我正在尝试将zip文件提取到C++程序中的文件夹中。我不想使用任何外部库或依赖项。

为此,我从我的C++程序中发出CMD命令来执行powershell。因此,我执行了一个系统命令,该命令激活了提取zip文件的poweshell。

这是我的代码:

string extractCommand = "powershell.exe -nologo -noprofile -command "& { Add - Type - A 'System.IO.Compression.FileSystem'; [IO.Compression.ZipFile]::ExtractToDirectory('"C:/Users/Eyesight Technology/Desktop/data/somsearch.zip/"', '"C:/Users/Eyesight Technology/Desktop"'); }"";
        system(extractCommand.c_str());

我认为问题可能出在引号和转义字符的使用上,尽管我不确定。我尝试直接从命令行运行该命令(显然没有转义键(,它就像一个魅力!但是在使用转义键C++时,我从 powershell 收到错误。

任何帮助将不胜感激!

在 PowerShell 5 中,使用 Expand-Archive

Expand-Archive -Path 'C:/Users/Eyesight Technology/Desktop/data/somsearch.zip' `
    -DestinationPath 'C:/Users/Eyesight Technology/Desktop'