2017-07-09 6 views
0

J'utilise WinSCP .NET Assembler en C# pour transférer une archive tar et l'extraire.Extraction de tarball C# en utilisant WinSCP .NET Assembly

Mon code fonctionne et j'ai réussi à copier les fichiers. Mais mon problème commence, quand j'essaie de les extraire en utilisant session.ExecuteCommand. Rien ne se passe.

Essayer de déboguer J'ai ajouté:

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

juste après:

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

et le fichier est créé, de sorte que la commande et l'autorisation n'est pas le problème et l'utilisation:

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

Indique que les fichiers sont extraits.

J'utilise protocole SCP et non SFTP

Tout ce qui suggère?

Br, Idan

+0

Pouvez-vous nous montrer le téléchargement complet/extrait extrait de code? –

Répondre

1

On dirait que vous supposez que la commande va extraire les fichiers à /<path>.

Ce ne sera pas. Il les extrait dans le répertoire de travail courant (ce qui est probablement /home/user).

Utilisez -C (ou --directory=) commutateur pour spécifier le répertoire de sortie:

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

Merci! utilisé le drapeau -C – idan357