使用 WinSCP .NET Assembly 提取压缩包 C#



我在C#中使用WinSCP.NETAssembly来传输压缩包并将其解压缩。

我的代码有效,我设法复制了文件。但是当我尝试使用session.ExecuteCommand提取它们时,我的问题就开始了。什么也没发生。

尝试调试它,我添加了:

session.ExecuteCommand("touch /<path>/myfile.txt");

紧接着:

session.ExecuteCommand("tar -xzf /<path>/mytarball.tar.gz");

并且文件已创建,因此命令和权限不是问题,并且使用:

result.Check();
string output = result.Output;

显示文件已提取。

我使用的是SCP协议而不是SFTP

有什么建议吗?

溴, 伊丹

看起来您假设该命令会将文件提取到/<path>

不会的。它将它们提取到当前工作目录(可能是/home/user(。

使用-C(或--directory=(开关指定输出目录:

session.ExecuteCommand("tar -xzf /<path>/mytarball.tar.gz -C /<path>");

最新更新