Cita de: TickTack en 23 Julio 2017, 20:44 PMHasta a mi me podria servir esto en futuro.....
Ojalá, aunque está muy recortado. Es versión "slim".
Cita de: TickTack en 23 Julio 2017, 20:44 PMGracias por tu aporte!!!
Gracias a ti también por colaborar con tu código, aunque al parecer no te funciona, jeje.
En un principio no entiendo muy bien por qué buscas un archivo llamado "datos.txt" y que contenga lineas con el texto "Origen" y "Destino" dentro de ese archivo, pero bueno, creo que das a entender un formato similar a esto:
Datos.txt
Código [Seleccionar]
Origen: C:\CarpetaOrigen1
Destino: C:\CarpetaDestino1
Origen: C:\CarpetaOrigen2
Destino: C:\CarpetaDestino2
Origen: C:\CarpetaOrigen3
Destino: C:\CarpetaDestino3
etc...
Pero luego haces una llamada a File.Move(), que además lo tienes colocado FUERA del ciclo, aparte, creo que es evidente por que no funciona eso de mover una carpeta como si fuese un archivo xD (en su lugar puedes usar el método Directory.Move(), que además puede mover archivos también).
Teniendo un archivo de texto con el formato de arriba, quizás lo que realmente querías hacer es algo así:
Código (csharp) [Seleccionar]
DirectoryInfo srcDir = null;
DirectoryInfo dstDir = null;
foreach (string line in File.ReadLines(@".\datos.txt", Encoding.Default)) {
if (line.StartsWith("origen", StringComparison.OrdinalIgnoreCase)) {
srcDir = new DirectoryInfo(line.Substring(line.IndexOf(' ')));
}
if (line.StartsWith("destino", StringComparison.OrdinalIgnoreCase)) {
dstDir = new DirectoryInfo(line.Substring(line.IndexOf(' ')));
}
if ((srcDir != null) && (dstDir != null)) {
try {
if (!srcDir.Exists) {
throw new DirectoryNotFoundException(srcDir.FullName);
}
if (!dstDir.Exists) {
dstDir.Create();
}
srcDir.MoveTo(Path.Combine(dstDir.FullName, srcDir.Name));
} catch (Exception ex) {
throw;
} finally {
srcDir = null;
dstDir = null;
}
}
}
Saludos!