Título: Duda script BATCH Publicado por: simii en 4 Marzo 2015, 00:04 am Hola, buenas, soy nuevo en el foro así que saludos a todos!
Hace poco empece con BATCH y se me ocurrió hacer un script que haga lo siguiente: Listar las carpetas de un directorio establecido en el script y enumerarlo, de forma que quede algo asi 1- dir1 2- dir2 3- dir3 Asi con todas las carpetas que tenga ese directorio. Me quedó algo así Citar @echo off setlocal enabledelayedexpansion set i=1 for /R D:\carpeta /D %%a in (*) do ( for /F "tokens=1-3 delims=\" %%b in ("%%a") do ( echo !i!- %%d set /a i=i+1 ) ) pause El problema esta en que quiero que se me guarde la ruta en variables, explico lo que quiero conseguir.. Que el script pida el numero de la carpeta osea si pongo un 2 que se abra la carpeta que este numerada con ese numero. Habia pensado en algo así: Código: @echo off Como podría hacerlo? Tendría solución? Título: Re: Duda script BATCH Publicado por: Eleкtro en 4 Marzo 2015, 06:04 am Como podría hacerlo? Utilizando los modificadores de las variables de For. Ejemplo: Código: @Echo OFF & SetLocal EnableDelayedExpansion Output: Código: [dirName1] Carpeta 1 Saludos Título: Re: Duda script BATCH Publicado por: simii en 4 Marzo 2015, 16:06 pm Te agradezco la respuesta, me ha ayudado mucho!
Tengo unas dudas: Que significa %%~n# Como funciona el CALL antes de un echo Y como podría hacer que los subdirectorios no aparezcan, porque al haber una carpeta dentro la lista también. Gracias! Título: Re: Duda script BATCH Publicado por: Eleкtro en 8 Marzo 2015, 05:17 am Busca un poco, tienes la documentación de cada comando en la propia consola de windows...
Que significa %%~n# Es un modificador especial de variable FOR. Código: For /? Cita de: For /? Ejecuta el comando para cada uno de los archivos especificados en el conjunto de archivos. %~nI - expande %I solo a un nombre de archivo Como funciona el CALL antes de un echo Funciona de la misma manera que sin el Call, pero expandiendo las variables. Cita de: http://ss64.com/nt/call.html Call (command) Run an internal command, first expanding any variables in the argument. como podría hacer que los subdirectorios no aparezcan, porque al haber una carpeta dentro la lista también. No entiendo la pregunta, intenta ser más específico. Si te refieres a que en el script de arriba quieres que no "aparezcan" los subdirectorios solo tienes que eliminar el segundo Echo. Saludos! Título: Re: Duda script BATCH Publicado por: LaThortilla (Effort) en 9 Marzo 2015, 00:09 am Hola tengo una duda que quizás ya este mas quemad...
Como imprimo números del 1 al 100 con un bucle for... Título: Re: Duda script BATCH Publicado por: LaThortilla (Effort) en 9 Marzo 2015, 04:15 am Hola tengo una duda que quizás ya este mas quemad... @ECHO OFFComo imprimo números del 1 al 100 con un bucle for... FOR /L %%i IN 1,1,101) DO ( echo %%i ) pause |