예제 #1
0
        /// <summary>
        ///		Crea el directorio de forma recursiva
        /// </summary>
        public bool MakeDirRecursive(string newPath)
        {
            bool made = true;             // ... supone que se crea correctamente

            // Crea recursivamente los directorios
            if (!string.IsNullOrEmpty(newPath))
            {
                string   actualPath   = GetActualPath();
                string[] newPathParts = newPath.Split('/');
                FtpPath  path         = "";

                // Recorre los directorios
                for (int index = 0; index < newPathParts.Length && made; index++)
                {
                    // Añade el subdirectorio
                    path += newPathParts[index];
                    // Crea el directorio
                    if (path.ToString() != "/")                             // ... porque en la cadena inicial había una / al comienzo
                    {
                        // Crea el directorio
                        MakeDir(path.ToString());
                        // Pasa al directorio creado (si puede)
                        made = ChangeDir(path.ToString());
                    }
                }
                // Vuelve al directorio inicial
                ChangeDir(actualPath);
            }
            // Devuelve el valor que indica si se ha creado
            return(made);
        }
예제 #2
0
 public FtpEntry(FtpPath path, long size, FtpEntryType type, DateTime date, FtpPath target)
 {
     Path   = path;
     Name   = path.GetFileName();
     Date   = date;
     Type   = type;
     Target = target;
     Size   = size;
 }
예제 #3
0
 public FtpEntry(FtpPath parent, string name, long size, FtpEntryType type, DateTime date, FtpPath target)
 {
     if (parent != null)
     {
         Path = parent + name;
     }
     Name   = name;
     Date   = date;
     Type   = type;
     Target = target;
     Size   = size;
 }
예제 #4
0
 /// <summary>
 ///		Borra un directorio
 /// </summary>
 public bool RemoveDirectory(FtpPath path)
 {
     return(new FtpDeleteCommand(Client.Connection, path, true).Send().IsSuccess);
 }
예제 #5
0
 /// <summary>
 ///		Borra un archivo o directorio
 /// </summary>
 public bool Delete(FtpPath path)
 {
     return(new FtpDeleteCommand(Client.Connection, path, null).Send().IsSuccess);
 }