Cambiar el nombre de un nombre de archivo no válido en NTFS

9

Recientemente, le presté mi disco flash a uno de mis amigos, que tenía Mac OS. Copió un archivo en él, cuyo nombre incluía una barra invertida (\).

El disco flash tiene formato NTFS. Windows no permite dichos nombres de archivo, ni abre el archivo, ni lo elimina, ni me permite eliminar el archivo.

Existen enfoques ingenuos para este problema, como:

  • Formateo del disco flash;
  • Devolvérselo a mi amigo y pedirle que le cambie el nombre;
  • Cargando en algunos Linux en vivo y renombrándolo.

Sin embargo, estoy buscando algo más inteligente, como un programa que pueda hacer el truco en Windows.

PD: Hay una herramienta llamada NTFSWalker que puede examinar los registros MFT del NTFS, pero no puede realizar ningún cambio en ellos.

MS Dousti
fuente
2
Encontrarás ¿Cómo forzar a Windows XP a renombrar un archivo con un carácter especial? una lectura útil también: la única respuesta real fue usar Linux.
DMA57361
Prueba Check Disk. (Haga clic con el botón derecho en el ícono del disco → Propiedades → Herramientas → en Comprobación de errores, haga clic en Verificar ahora → verificar Solucionar automáticamente los errores del sistema de archivos). Esta fue una de las sugerencias en la pregunta vinculada anteriormente, pero nunca se intentó.
Bavi_H
@Bavi_H: Lo siento, Comprobar disco tampoco funcionó.
MS Dousti

Respuestas:

5

Todas las API de Win32 usan la barra diagonal inversa como separador de directorio. Existe una pequeña posibilidad de que el subsistema POSIX lo acepte como parte del nombre del archivo, por lo que puede intentarlo mvdesde Servicios para Unix .


No diría que usar Linux para arreglarlo es "ingenuo", si Unix fue lo que lo rompió en primer lugar.

usuario1686
fuente
Lo intenté mvantes. No funcionó.
MS Dousti
Acerca de "ingenuo": me refería a alguna solución que viene a la mente en primer lugar.
MS Dousti
@Sadeq: ¿De qué mvestás hablando?
usuario1686
2
@Sadeq: Ambos son programas simples de Win32. Mencioné explícitamente Servicios para Unix por una razón: sus programas se ejecutan en un subsistema "POSIX" separado , con reglas diferentes a las de Win32.
user1686
1
El subsistema POSIX también se usa NtOpenFilepara abrir archivos, y NtOpenFiletrata la ruta como un todo, no como una serie de componentes (hay una bandera para usar la semántica "POSIX", pero eso es solo para la distinción entre mayúsculas y minúsculas), por lo que sigue las mismas reglas.
user541686
3

Descubrí que 7zip a menudo puede lidiar con archivos extraños cuando Windows falla (útil para rutas que son demasiado largas para eliminarlas normalmente); pruébelo al intentarlo.

Dentrasi
fuente
Lo siento. 7zda el mismo error que Windows.
MS Dousti
Tampoco funciona para mí
Mark Jeronimus
2
7z trabajó un poco de magia para mi caso, que eran nombres de archivo que terminaban con un carácter espacial no compatible. Intenté un montón de utilidades para lidiar con esto, pero solo 7z funcionó.
Mike Simpson
2

Puede usar CHKDSK /Fdesde el indicador de DOS para corregir los errores, y luego RD /S <DIR>dónde <DIR>está el directorio que desea eliminar. Tenga cuidado ya que esto eliminará el directorio y todos sus subdirectorios.

Julian
fuente
-1

Abrí la carpeta con archivos de caracteres inaccesibles en el administrador de archivos 7zip. Allí, le cambié el nombre y BINGO, se le cambió el nombre. Así pude acceder al archivo.

7zip es una utilidad de compresión de archivos gratuita, mejor que RAR.

Arun
fuente
55
¿No es tu respuesta la misma que la de Dentrasi?
MS Dousti