2017-07-09 1 views
0

Ich benutze WinSCP .NET Assembly in C#, um einen Tarball zu übertragen und es zu extrahieren.Extrahieren von Tarball C# mit WinSCP .NET Assembly

Mein Code funktioniert und ich habe es geschafft, die Dateien zu kopieren. Aber mein Problem beginnt, wenn ich versuche, sie mit session.ExecuteCommand zu extrahieren. Nichts passiert.

Der Versuch, es zu debuggen Ich habe hinzugefügt:

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

direkt nach:

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

und die Datei wird erstellt, so dass der Befehl und die Erlaubnis ist nicht das Problem und Verwendung:

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

Zeigt an, dass die Dateien extrahiert werden.

Ich verwende SCP Protokoll und nicht SFTP

Alle darauf hindeutet?

Br, Idan

+0

Können Sie uns zeigen den vollständigen Upload/Extrakt-Code-Snippet? –

Antwort

1

Es sieht aus wie Sie davon ausgehen, dass der Befehl, die Dateien extrahieren /<path> wird.

Es wird nicht. Es extrahiert sie in das aktuelle Arbeitsverzeichnis (was wahrscheinlich /home/user ist).

Verwendung -C (oder --directory=) schalten Sie das Ausgabeverzeichnis angeben:

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

Danke! verwendete die -C-Flagge – idan357