Título: Crear Varias carpetas y Sub-Carpetas Publicado por: P3NDULO en 23 Agosto 2019, 03:07 am Buenas.
Cree este diminuto script, en mi trabajo hay c=que realizar barias carpetas, con algunas normas. Por ejemplo. La fecha es AAAAMMDD y numero de incidente Las carpetas deben estar dentro de un laboratorio cada entrega depende de que impacta (Data, Reports, App, etc) Le coloque para que al momento de colocar los datos no esten en blanco, con los if. Seguro existen maneras menos artesanales, pero asi me funciona :rolleyes: :rolleyes: :rolleyes: Se los dejo aquí, para el que necesite de alguna parte, pues lo use, y si alguno lo quiere mejorar, y compartir... Código: @ECHO off title Carpetas Entrega Fcoelho 0.2 color f1 MODE CON COLS=50 LINES=15 set bausch="bau" :menu cls SET /P labora= Nombre de Laboratorio : REM con el siguiente if verificamos si colocaron algun dato if not defined labora ( set torio= NuevoLaBoratorio ECHO No tiene nombre de laboratorio. ECHO Se creara carpeta NuevoLaBoratorio ) else ( set torio=%labora% ) echo. REM Se convierte la fecha en el formati invertido y sin las divisiones set DD=%DATE% set fecha=%DD:/=% set AAMMDD=%fecha:~-4%^%fecha:~2,2%^%fecha:~0,2% :menu2 SET /P report= Colocar Numero Incidente : REM If para validar el numero de reporte if not defined report ( ECHO Debes colocar numero de reporte goto menu2 ) else ( set numero=%report% ) [color=blue]:opcion ECHO. ECHO ******* Tipo de Entrega ********* ECHO _ 1.Data ECHO _ 2.APP_WEB ECHO _ 5.Reporte ECHO _ 0. Ninguna de las anteriores: ECHO. SET /P imp= OPCION : REM Validar que valor colocan if not defined imp ( echo Colocar algun Caracter goto opcion ) else ( if %imp% == 1 goto Data if %imp% == 2 goto app if %imp% == 5 goto repor echo Recuerde colocar valores validos pause>nul goto opcion )[/color] :Data md "Entregas Soporte 2"\"%torio%"\"%AAMMDD%"_Incidente_"%numero%"\"01.DataBaseUpdate"\"SELECT DATA,VERSION FROM _DBVERSION"\Data\ goto carpeta :app md "Entregas Soporte 2"\"%torio%"\"%AAMMDD%"_Incidente_"%numero%"\"02.APP_WEB"\"entities"\ md "Entregas Soporte 2"\"%torio%"\"%AAMMDD%"_Incidente_"%numero%"\"02.APP_WEB"\"JS"\"Controllers"\ goto carpeta2 :repor md "Entregas Soporte 2"\"%torio%"\"%AAMMDD%"_Incidente_"%numero%"\"01.DataBaseUpdate"\"SELECT DATA,VERSION FROM _DBVERSION"\Reportes\ md "Entregas Soporte 2"\"%torio%"\"%AAMMDD%"_Incidente_"%numero%"\"05.Reports"\ goto carpeta2 :otro ECHO Gracias por estar aqui. ECHO Desea Intentar otra vez. ECHO 1 . Si (Puedes Utilizar la letra Y o S, tambien el numero 1) ECHO 2 . No (Puedes Utilizar la letra N, tambien el numero 2,0) set /P sal= if %sal% == 1 goto menu if %sal% == Y goto menu if %sal% == y goto menu if %sal% == S goto menu if %sal% == s goto menu if %sal% == N exit if %sal% == n exit if %sal% == 0 exit if %sal% == 2 exit :carpeta cls ECHO. ECHO ******************** ECHO * * ECHO * Carpetas Creadas * ECHO * * ECHO ******************** ECHO. pause>nul explorer.exe "Entregas Soporte 2"\"%torio%"\"%AAMMDD%"_Incidente_"%numero%"\"01.DataBaseUpdate"\"SELECT DATA,VERSION FROM _DBVERSION"\Data\ Exit :carpeta2 cls ECHO. ECHO ******************** ECHO * * ECHO * Carpetas Creadas * ECHO * * ECHO ******************** ECHO. pause>nul explorer.exe "Entregas Soporte 2"\"%torio%"\"%AAMMDD%"_Incidente_"%numero%"\ Exit REM :BD sqlcmd -S Miservidor\nombredeinstancia con eso puedo conetarme y colocar los comandos hasta colocar GO Espero le ayude a alguien, y disculpen, mi manera de hacerlo jejejeje :silbar: :silbar: ;-) Modifique para que esten en las opciones, y coloquen valores específicos, gracias por el comentario Citar @string Manolo Título: Re: Crear Varias carpetas y Sub-Carpetas Publicado por: @XSStringManolo en 23 Agosto 2019, 04:05 am if %sal% == 1
goto menu if %sal% == Y goto menu if %sal% == y goto menu if %sal% == S goto menu if %sal% == s goto menu if %sal% == N exit if %sal% == n exit if %sal% == 0 exit if %sal% == 2 exit Si se pulsa cualquier otra letra se continua la ejecución del programa no? Se puede poner: if else if else if else if else Así te aseguras que no se haga nada que el usuario no quiere si por ejemplo le da a la M porque está al lado de la N, o porque lee mal. O pones un: goto otro después de los if, y ya lo solucionas. Seguro que a alguien le resulta útil! Leí a mucha gente preguntando como hacer cosas parecidas. |