Anda di halaman 1dari 10

Bienvenido(a),

Visitante. Por
favor Ingresar
o Registrarse
Perdiste tu
email de
activacin?.
| Foro | Web | Blog | Wiki | Ayuda | Buscar | Ingresar | Registrarse | 4 Septiembre 2013,
21:15

Foro de elhacker.net
Sistemas Operativos
Windows
Solucionar y evitar el error de "Ruta
demasiado larga" en Windows

0
0 Usuarios y 1 Visitante
estn viendo este tema.

Pginas: [1] 2 3 4

Autor
rconde79
Desconectado
Mensajes: 52

Tema: Solucionar y evitar el error de "Ruta demasiado larga" en Windows


(Ledo 33,635 veces)
Solucionar y evitar el error de "Ruta demasiado larga" en Windows
en: 1 Marzo 2011, 11:57
Buenas a todos.
Como ya sabris, si en Windows se quiere copiar un archivo de una carpeta a
otra y ste tiene una ruta que supera los 256 caracteres, salta el error de
"Imposible copiar, ruta demasiado larga".
Este error se torna en caos en una oficina con red comn y varios proyectos
con muchas subcarpetas.
Lo peor, es que al saltar el error, deja de copiar. Esto supone que si por
ejemplo, hay 20 archivos con ruta demasiado larga, tienes que copiar y pegar
veinte veces para enterarte de cules son, para modificarlos.
Despus de esta larga introduccin voy al objetivo del post. Me pregunto si
seran posible dos cosas:
1. Solucin: alguna forma de ver TODOS los archivos con ruta demasiado
larga de una carpeta (comprimirla no funciona).
2. Evitarlo: alguna forma de que se avise al usuario que est creando un
archivo cuya ruta es demasiado larga, y que en el futuro dar problemas.
Un saludo mkinas.
En lnea

pitoloko

Desconectado

Re: Solucionar y evitar el error de "Ruta demasiado larga" en


Windows
Respuesta #1 en: 1 Marzo 2011, 13:31

Mensajes:
2.499

Mediante la consola, quizs usando los nombres cortos, por ejemplo as:
Cdigo:
copy file.txt c:\archiv~1\
para saber el nombre corto de un directorio:
Cdigo:
dir /X
No se si solucionar el problema.
saludos
En lnea
pa que

rconde79
Desconectado

Re: Solucionar y evitar el error de "Ruta demasiado larga" en


Windows
Respuesta #2 en: 1 Marzo 2011, 16:47

Mensajes: 52 La verdad es que no se bien a qu te refieres. Tengo nivel bsico de


informtica.
De todas maneras me pinta a que te refieres a una solucin para un archivo.
Yo me refiero a una solucin general, a aplicar a carpetas llenas de
subcarpetas.
Un saludo
En lnea

suso11
Desconectado
Mensajes: 3

Re: Solucionar y evitar el error de "Ruta demasiado larga" en


Windows
Respuesta #3 en: 1 Marzo 2011, 17:35
A lo que el se refiere es que en windows se pueden usar los nombres cortos,
tal y como se haca en dos, es decir nombres de 8 caracteres como maximo.
La traduccin de un nombre corto se realiza con 6 caracteres y ~1 detras.
Por ejemplo documents and setings se traduciria como DOCUME~1.
Es lo unico que se me ocurre a mi tambin ya que esta es una limitacin de
windows y no se si se puede subsanar de alguna manera.
un saludo!

En lnea

RyogiShiki

Re: Solucionar y evitar el error de "Ruta demasiado larga" en


Windows
Respuesta #4 en: 1 Marzo 2011, 17:50

Desconectado
Mensajes:
745

Hola, pues realmente me has dado una idea!


Acabo de hacer un Script en ruby que simplemente escribiendo el path del
directorio que quieres verificar el buscar (recursivamente en todos sus
archivos y subdirectorios) de ah en adelante y te dira que rutas superan los
255 caracteres, es muy facil de usar, pero as mismo muy primitivo, as que no

le pases parametros que no sirban porque no he considerado todas las


excepciones.
Ahora implemento la funcin de renombrar el archivo cada qe encuentre un
path tan largo
Requisitos: Tener Ruby claro est.
a continuacin te lo dejo: http://www.mediafire.com/?xl59d3cg1nh8n1t
Path vlidos:
Citar
C :\
c:\Users\SomeUser\Projects
F:\lo\que\sea
En general cualquier path absoluto sirve, si el directorio o archivo no existe
simplemente lanza un error y se sale del programa.

Saludos

ltima modificacin: 1 Marzo 2011,


18:47 por gankutsuo

En lnea

Hikkikomori
FTW!!!

RyogiShiki

Desconectado
Mensajes:
745

Re: Solucionar y evitar el error de "Ruta demasiado larga" en


Windows
Respuesta #5 en: 1 Marzo 2011, 22:23
Bien alfin lo he terminado! la ltima versin del script que comprueba si el
tamao de un path es mayor a 256 caracteres, y si es as entonces te
pregunta si quieres cambiar el nombre del archivo ahora solo falta
implementar unas cuantas opciones para permitir el pase de parametros por
la consola. Espero este Script sea de utilidad para alguien.
Source:
Cdigo
1. require 'find'
2.
3. def dirComp(dir)
4.
Dir.chdir(dir)
5.
puts dir
6.
Find.find(dir) do |path|
7.
if(path.to_s.length > 256)
8.
print "#{path} ... ||ERROR: Path may
or a 255 caracteres||\n"
9.
print "Desea renombrar el archivo (s
/n): "
op = gets.chomp.to_s
10.

if (op == 's')
print "Escriba el nuevo nomb

11.
12.
re para el archivo: "
13.
14.
15.

Hikkikomori
FTW!!!

name = gets.chomp.to_s
oldName = cutPath(path)
File.rename(path, oldName +

name)
16.
else next
17.
end
18.
else puts "#{path} ... |OK|"
19.
end
20.
end
21. end
22.
23. def cutPath(path)
index = -1
24.
tmpVar = 0
25.
26.
while (tmpVar != 1) do
27.
if (path[index].chr == "/" or path[index].ch
r == "\\" ) then
finalIndex = path.length - index.abs
28.
oldName = path[0, (finalIndex + 1)]
29.
tmpVar = 1
30.
31.
else
index = index - 1
32.
33.
end
34.
end
35.
return oldName
36. end
37.
38. print "Escriba el path de un directorio: "
39. path = gets.chomp.to_s
40. dirComp(path)
Aqu el archivo: http://www.mediafire.com/?az6ouc6395cr12j
Maana paso el Script en un exe para que funcione sin tener instalado Ruby

ltima modificacin: 2 Marzo 2011,


02:10 por gankutsuo

En lnea

suso11
Desconectado
Mensajes: 3

Re: Solucionar y evitar el error de "Ruta demasiado larga" en


Windows
Respuesta #6 en: 1 Marzo 2011, 22:42
gankutsuo espectacular! Jajajaja
En lnea

Randomize

Re: Solucionar y evitar el error de "Ruta demasiado larga" en


Windows
Respuesta #7 en: 1 Marzo 2011, 22:48

Desconectado
Mensajes:
16.499

Chap gankutsuo, me quito el sombrero

En lnea

RyogiShiki

Desconectado
Mensajes:
745

Re: Solucionar y evitar el error de "Ruta demasiado larga" en


Windows
Respuesta #8 en: 1 Marzo 2011, 22:48
Cita de: suso11 en 1 Marzo 2011, 22:42
gankutsuo espectacular! Jajajaja

Cita de: Randomize en 1 Marzo 2011, 22:48


C hap gankutsuo, me quito el sombrero

grx! Justo lo acabo de pasar en mi mquina y encontr unos cuantos paths


de ese tamao que ya estn bien!
Saludos
En lnea

Hikkikomori
FTW!!!

pitoloko

Re: Solucionar y evitar el error de "Ruta demasiado larga" en


Windows

Respuesta #9 en: 2 Marzo 2011, 02:10


Desconectado
Mensajes:
2.499

Pues si, gracias por subirlo para todos!


saludos
En lnea
pa que

rconde79
Desconectado

Re: Solucionar y evitar el error de "Ruta demasiado larga" en


Windows
Respuesta #10 en: 2 Marzo 2011, 07:57

Mensajes: 52 Oye que el que ha abierto el tema tiene tambien un poco de mrito no? jejeje
No, ahora en serio, muchas gracias. A mi por lo menos me ser de grandsima
utilidad, y ms si como dices, lo pasas en un exe para utilizar en windows, ya
que yo no tengo el Ruby. Admito que ni lo conozco.
Slo una pincelada. Cre leer ayer que slo se poda pasar a las unidades C: y
F: Si pudieras modificarlo para pasarlo a cualquier carpeta ubicada en
cualquier unidad ya sera la perfeccin (no s si ser mucho pedir).
Gracias de nuevo!
En lnea

pitoloko

Desconectado
Mensajes:
2.499

Re: Solucionar y evitar el error de "Ruta demasiado larga" en


Windows
Respuesta #11 en: 2 Marzo 2011, 09:05
Oye y el programa trabaja solo en un directorio, o tambien en las sub
carpetas? xD por ejemplo para mirar en TODO el discoduro, se puede?
(es una nueva idea que aado a la sugerencia de modificaciones de rconde
XD)
En lnea
pa que

RyogiShiki

Desconectado
Mensajes:
745

Re: Solucionar y evitar el error de "Ruta demasiado larga" en


Windows
Respuesta #12 en: 2 Marzo 2011, 14:32
El programa trabaja como mencion recursivamente, lo que quiere decir que
trabaja en subcarpetas tambin. El programa funciona para cualquier carpeta
si le das la ruta de esa carpeta.
Lo nico esque en las ltimas pruebas que he hecho he tenido algunos
problemas gracias al maldito Windows que no sabe como arreglarselas en
algunas situaciones con esos paths, y menos cuando se hace recursivo el
cambio.... voy a arreglar esos problemas cuanto antes.
Lo ideal en estos momentos para que no sufras ningn percance es...
uhmm... imagino que usar un Live CD de alguna distro muy pequea, montar
el disco y analiza.
Voy a resolver los problemas que mencion antes y lo paso.
Saludos

ltima modificacin: 2 Marzo 2011,


14:36 por gankutsuo

En lnea

Hikkikomori
FTW!!!

RyogiShiki

Desconectado
Mensajes:
745

Re: Solucionar y evitar el error de "Ruta demasiado larga" en


Windows
Respuesta #13 en: 2 Marzo 2011, 15:14
Listo, Ya est hecho, ahora permteme explicar el funcionamiento del Script:
Lo primero es el exe: http://www.mediafire.com/?957q8lr354arne0
Cuando lo tengas lo ms conveniente es que lo dejes en la Raiz del Disco
local C: (o el que sea que uses por defecto). Despues abres una consola CMD
y escribes lo siguiente:
Cdigo
1. C:
y luego
Cdigo
1. dir.exe
Cuando lo hagas lo primero que vers es un mensaje como el siguiente:
Cdigo
1. Escriba el path de un directorio:
En donde puedes escribir el path de cualquier directorio.... cualquiera no
importa cual sea o en que dico se encuenre la comprobacin ser recursiva lo
que quiere decir que comprobar todos los niveles del path suministrado
incluyendo todos los archivos y subdirectorios que se encuentren.. Si en algn
momento se encuentra un ruta mayor a 256 caracteres te saldr el siguiente
mensaje:
Cdigo

Hikkikomori
FTW!!!

1. ||ERROR: Path mayor a 255 caracteres||


2. Desea renombrar el archivo (s/n):

en donde solo puedes introducir 's' o 'n' si introduces 'n' o cualquier otro
caracter el programa continuara la comprobacin sin cambiar nada, si de lo
contrario colocas 's' aparecer el siguiente mensaje:
Cdigo
1. Escriba el nuevo nombre para el archivo:
En donde tienes que escribir el nuevo nombre para el archivo. NOTA: El
programa NO hace doble comprobacin, as que asegurate que el nuevo
nombre sea ms corto. Si el nombre continua siendo ms grande a 256
caracteres Windows no dejar cambiar el nombre (maldito Windows!!),
Windows le pasara un error al programa y el programa terminara la ejecucin.
Despues de que escribas el nombre y des 'Enter' el programa continuar con
la ejecucin.
Por cada path bien formado que se encuentre el programa te lo dir con un:
Cdigo
1. ... | OK |
Y bueno creo que eso es todo lo que hay que decir si a alguien le interesa el
Script con los pequeos cambios realizados aqu est:
Cdigo
1. require 'find'
2.
3. def dirComp(dir)
4.
Dir.chdir(dir)
5.
puts dir
6.
Find.find(dir) do |path|
7.
if(path.to_s.length > 256)
8.
print "#{path} ... ||ERROR: Path may
or a 255 caracteres||\n"
9.
print "Desea renombrar el archivo (s
/n): "
op = gets.chomp.to_s
10.
11.
if (op == 's')
12.
print "Escribe el nuevo nomb
re para el archivo: "
name = gets.chomp.to_s
13.
oldName = cutPath(path)
14.
newName = oldName + name
15.
16.
File.rename(path.gsub("/", "
\\"), newName.gsub("/", "\\"))
17.
else next
18.
end
19.
else puts "#{path} ... |OK|"
20.
end
21.
end
22. end
23.
24. def cutPath(path)
index = -1
25.
tmpVar = 0
26.
27.
while (tmpVar != 1) do
28.
if (path[index].chr == "/" or path[index].ch
r == "\\" ) then
finalIndex = path.length - index.abs
29.
oldName = path[0, (finalIndex + 1)]
30.
tmpVar = 1
31.
32.
else
index = index - 1
33.
34.
end
35.
end
36.
return oldName
37. end

38.
39. print "Escriba el path de un directorio: "
40. path = gets.chomp.to_s
41. dirComp(path)
Ahora hay que tener en cuenta que este ltimo ya no funciona sobre
plataformas *nix gracias a Windows -.- pero siempre se puede usar el
anterior (aunque como dije no tiene mucho sentido.)
Espero sea de Utilidad
POR ULTIMO: Si encuentran algn error (diferente a lo que mencione ms
arriba claro est) haganmelo saber para corregirlo.
Saludos.
ltima modificacin: 2 Marzo 2011,
15:28 por gankutsuo

pitoloko

Desconectado
Mensajes:
2.499

En lnea

Re: Solucionar y evitar el error de "Ruta demasiado larga" en


Windows
Respuesta #14 en: 2 Marzo 2011, 15:23
Que gran utilidad! que grande eres xD deberias subirlo por ah, a algunas
paginas de renombre para que lo tengan ms usuarios, o vender el programa
xD.
En lnea
pa que

Pginas: [1] 2 3 4

Ir a:

lawebdegoku

ir

=> Windows

MundoDivx

Hispabyte
Seguridad
Yashira.org
indetectables.net
Colombia
Noticias
Internet mvil
ADSL
Informatica

Truzone

Underground
Soluciones Web
Mxico
thehackerway Tienda Wifi

Blog Administrador
Blog Uxio
Sistemas

El Lado del
Mal

Indejuegos
eNYe Sec

ZonaPhotoshop
Seguridad
Informtica
Seguridad
Wireless

Todas las we bs afiliadas e stn libre s de publicidad e ngaosa.

Powered by SMF 1.1.18 | SMF 2006-2008, Simple Machines

Anda mungkin juga menyukai