Título: Modificar archivo de texto sin conocer su ruta Publicado por: KISKE en 19 Diciembre 2012, 10:28 am Hola,
Tengo un problema, el código funciona, pero hay un cierto incoveniente, hago varias pruebas de lo mismo, y hay veces que tarda menos y otras veces más, incluso me llegó a tardar hasta 2 minutos o más. Lo que quería saber es si hay algúna otra forma de hacer lo que estoy haciendo pero de forma más rápida. Código
Gracias! Título: Re: Modificar archivo de texto sin conocer su ruta Publicado por: Eleкtro en 19 Diciembre 2012, 15:40 pm - Suponiendo que tengas una unidad de diskette conectada y asociada a la letra "A", podrías descartarla del FOR, sobretodo si la diskettera está vacía, tardará un minuto en leer la diskettera y acabará saltando un mensaje de error porque no se encuentra ningún diskette dentro.
- En este comando estás esperando a una salida, y después de obtenerla, la filtras al comando find, es totálmente innecesario y hace que tarde más: Código: dir /b /s %%i:\ | find "ARCHIVO_XX.txt" Código
Aparte de lo comentado, puedes mejorar la sintaxis y simplificar el código: - Ahorrando la orden de ocultar la salida dle echo todo el rato... @echo., usa "echo.", sin la arroba, - Creando un FOR que solo trabaje en las unidades que exiten conectadas: Código: fsutil fsinfo drives saludos Título: Re: Modificar archivo de texto sin conocer su ruta Publicado por: KISKE en 19 Diciembre 2012, 19:46 pm Excelenteee!
Gracias por los consejos, ya borré todos los @ de los echo. Sin embargo, no supe como trabajar con el fsutil fsinfo drives, pero seguiré intentando. El bucle me quedo así: Código
Si las comillas incluían a la ruta (%%i:\) lanzaba un error, es por eso que solo se lo puse al nombre del archivo. Muchas gracias nuevamente! Título: Re: Modificar archivo de texto sin conocer su ruta Publicado por: Eleкtro en 19 Diciembre 2012, 20:08 pm no supe como trabajar con el fsutil fsinfo drives, pero seguiré intentando. Bueno lo cierto es que el output de FSUTIL es una línea y necesitarías averiguar cuantos tokens debes crear en el FOR, mejor puedes hacerlo usando WMIC para obtener una un output multi-línea:Código
Si las comillas incluían a la ruta (%%i:\) lanzaba un error, es por eso que solo se lo puse al nombre del archivo Es extraño, a mi me funcionó correctamente (¿Lo probaste en Win7?, ahí funciona)Título: Re: Modificar archivo de texto sin conocer su ruta Publicado por: KISKE en 20 Diciembre 2012, 09:32 am Gracias nuevamente, aunque tengo un pequeño problema que no sé como resolverlo.
El parámetro %%@ devuelve las rutas pero solo con el formato LETRA:, es decir, la / no la inserta, y sin eso, no puedo continuar. No soy muy bueno en Batch por lo que no pude resolver el problema, el código quedo así pero como dije, falta la / después de %%@. Código
Por cierto, si, lo probé en Windows7, y sin embargo la " no puede incluír a la ruta porque me lanza error, no sé cual será el motivo, pero así me funciona. Gracias! Título: Re: Modificar archivo de texto sin conocer su ruta Publicado por: Eleкtro en 20 Diciembre 2012, 11:59 am El "If Exists" que has añadido es innecesario, como te expliqué el comanod que utilizo del wmic sirve para obtener las unidades conectadas, osea las unidades que existen...
Te da ese tipo de error con los caracteres porque la salida del comando wmic está en unicode por defecto, debí haber previsto que podrías tener problemas para la intención que quieres darle al usar el formato "list". Aquí tienes: Código
Título: Re: Modificar archivo de texto sin conocer su ruta Publicado por: KISKE en 20 Diciembre 2012, 12:56 pm Funcionó perfectamente, aunque creo que tiene un error.
Cuando explora el primer disco (en mi caso C:/, que es donde está el ARCHIVO_XX.txt), no pasa nada y hace todo correctamente, pero luego saltan dos errores en la consola y dice lo siguiente: El dispositivo no está listo. El dispositivo no está listo. Si no me equivoco se refiere a los discos E:/ y F:/ que son unidades de CD y no tengo ningún CD dentro. Hay alguna solución para eso ? Gracias! Título: Re: Modificar archivo de texto sin conocer su ruta Publicado por: Eleкtro en 20 Diciembre 2012, 13:49 pm Hay alguna solución para eso ? Listar únicamente los discos fijos:Código Título: Re: Modificar archivo de texto sin conocer su ruta Publicado por: KISKE en 20 Diciembre 2012, 15:35 pm Genial, muchas gracias por todo y también gracias por las rápidas respuestas!
|