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
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
Modifique para que esten en las opciones, y coloquen valores específicos, gracias por el comentario
Citar
@string Manolo