(SOLUCIONADO) ¿Como renombrar un archivo o carpeta con el mismo nombre?

Iniciado por Eleкtro, 19 Diciembre 2012, 19:31 PM

0 Miembros y 1 Visitante están viendo este tema.

Eleкtro

Esto dará una excepción, porque el nombre es "el mismo" solo que con las minus/mayus cambiadas... (Vaya estúpida excepción!)
Código (vbnet) [Seleccionar]
My.Computer.FileSystem.RenameFile("C:\tEsT.txt", "test.txt")
My.Computer.FileSystem.RenameDirectory("C:\OldDirectory", "OldDIRECTORY")


Para evitarlo conozco dos técnicas,
La primera es renombrar el archivo añadiendole un caracter al final del nombre del archivo, y luego volverlo a renombrar al nombre original añadiendo el formato "ProperCase" que queramos.
La segunda (Gracias Kub0x) es mover el archivo al mismo lugar con el "ProperCase", es decir:

Archivo de origen: C:\tEST.TxT
Archivo de destino: C:\Test.txt

Quisiera saber si existe una forma que no implique tener que mover el archivo, y que no implique tener que añadirle caracteres al final del nombre original.

Saludos!








Novlucker

#1
Utilizar Move es la manera correcta de hacerlo. En C# por ejemplo no existen funciones para renombrar, y de hecho el RenameDirectory y RenameFile de VB.NET invocan a Move internamente :P

Lo cual a su vez apunta a MoveFile de kernel32.dll
CitarThe MoveFile function will move (rename) either a file or a directory (including its children) either in the same directory or across directories.
En definitiva, mover directamente es el paso corto a renombrar :P

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Eleкtro