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

Iniciado por rconde79, 1 Marzo 2011, 11:57 AM

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

SuperDraco

1.vbs(2, 1) Error de Microsoft VBScript en tiempo de ejecución: El subíndice está fuera del intervalo

Que pasa aqui Nov? xD odio ese error ya me lo conozco... :-X
No he vuelto, solo estoy de paso.

Novlucker

Pensé que el script era autoexplicativo, por eso no puse mucho, lo he probado en otra máquina y funciona :huh:
De hecho el script si imprime por pantalla, pero si le ponen que redireccione a un archivo con > es imposible no? :xD Miren mi primer ejemplo :P

pitoloko, tu problema es con el parametro que estas pasando al script, o bien no lo estas haciendo, o bien algo esta mal :-X

Peeero, de cualquier modo el problema es que en el script solo he puesto para verificar las carpetas, pero no los archivos :xD

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

SuperDraco

Nada, a mi no me funciona! y me aseguro de meterlo donde hay rutas de carpetas de mas de 256 caracteres, y pruebo el script sin parametros, sin pasarlo a un txt ni nada, se queda como "cargando" 3 segundos pero no sale nada...

Hace poco me bajé una actualización de seguridad de Windows, que es una nueva version del cscript y el wscript... solo puedo pensar que sea por eso :/ da igual.

saludos.
No he vuelto, solo estoy de paso.

Novlucker

Es que no me estas leyendo, dije que el script esta mal, solo informa de rutas de carpetas de más de 256 caracteres y no de archivos :xD , este si tiene que funcionar.

Código (vb) [Seleccionar]
Set objfso = createobject("scripting.filesystemobject")
Set IDir = objfso.getfolder(wscript.arguments(0))
ListDirs(IDir)

Function ListDirs(IFol)
if len(IFol.path)>256 then wscript.echo IFol.path

Set FilesIFol = IFol.files

For each FF in FilesIFol
if len(FF.path)>256 then wscript.echo FF.path
Next

Set SubsIFol = IFol.subfolders

On error resume next
For each SF in SubsIFol
ListDirs(SF)
Next
End Function


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

RyogiShiki

Cita de: Novlucker en  3 Marzo 2011, 12:31 PM
Es que no me estas leyendo, dije que el script esta mal, solo informa de rutas de carpetas de más de 256 caracteres y no de archivos :xD , este si tiene que funcionar.

Código (vb) [Seleccionar]
Set objfso = createobject("scripting.filesystemobject")
Set IDir = objfso.getfolder(wscript.arguments(0))
ListDirs(IDir)

Function ListDirs(IFol)
if len(IFol.path)>256 then wscript.echo IFol.path

Set FilesIFol = IFol.files

For each FF in FilesIFol
if len(FF.path)>256 then wscript.echo FF.path
Next

Set SubsIFol = IFol.subfolders

On error resume next
For each SF in SubsIFol
ListDirs(SF)
Next
End Function


Saludos

Bien! jaja cierto, lo he probado y ha ido sin problemas

Saludos


Di_Marcus

Dios mío un millón de gracias.

Unas pequeñas cuestiones:

1. Que programas me tengo que instalar en Windows para modificar el script.

2. Cómo paso lo que he modificado a un .exe

Os explico el porque de estas cuestiones. La aplicación es perfecta pero también me interesaria cambiar el valor "255" y ponerlo un poco más bajo, con la finalidad de saber que carpetas están a punto de sobrepasar el límite.

Muchisimas gracias

Randomize


the red

me funciono solo cambiandole el nombre al archivo por uno mas  corto gracias ..