2017-09-21 8 views
1

J'aime créer un répertoire dans mon serveur SFTP avec WinSCP en C#.Création d'un sous-répertoire dans SFTP en utilisant WinSCP en C#

J'ai essayé Sesion.CreateDirectory() avec lequel j'étais capable de créer un seul niveau de dossier.

Je n'ai pas réussi à créer plus d'un niveau de dossier.

Si je crée un test de dossier, je n'ai pas pu déplacer le répertoire de travail vers ce dossier pour créer des sous-dossiers. Comment créer un répertoire avec plus de sous-répertoire et créer le répertoire si le sous-répertoire n'existe pas.

session.CreateDirectory("test/Upload/part1/part2"); -notworking 

Répondre

0

L'assembly WinSCP .NET n'utilise pas un concept de répertoire de travail.

Vous devez utiliser des chemins absolus:

session.CreateDirectory("/home/user/test"); 
session.CreateDirectory("/home/user/test/Upload"); 
session.CreateDirectory("/home/user/test/Upload/part1"); 
session.CreateDirectory("/home/user/test/Upload/part1/part2"); 

ou au moins des chemins relatifs au répertoire initial (home) ::

session.CreateDirectory("test"); 
session.CreateDirectory("test/Upload"); 
session.CreateDirectory("test/Upload/part1"); 
session.CreateDirectory("test/Upload/part1/part2"); 
+0

si le dossier existe déjà .it montrer wont une exception? –

+0

Oui, il va lancer une exception. Si vous devez gérer une situation où certains niveaux existent, utilisez 'session.FileExists' pour vérifier avant d'essayer de le créer. –