[Resuelto] [bat] Como puedo crear directorios desde variables?

Iniciado por miguel0542, 2 Septiembre 2012, 19:16 PM

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

miguel0542

Hola, me cree una cuenta aquí por que veoq ue responden rapido y certero. EL objetivo de mi programa es 1- revisar la existencia o no de las carpetas cuyos nombres ingresados son del año y dentro de este sub directorios con los meses. Dentro de los meses copiar una factura en xls (exel), y cambiar su nombre. de ahí abrirla (es solo para ajilisarle las cosas a mi papá) es un asistente para organizar todo. de ahi se guarda y tatata... en fin no voy a explicar mas puestoq ue mi error recide en  la creacion del directorio de meses les dejo el codigo actual:

Código (dos) [Seleccionar]
@echo off

title Asistente de Facturacion v1

echo Bienvenido.
pause
goto ano


:ano
cls
echo Porfavor ingrese el ano (ejemplo 2012), por favor no cometa errores.
set /p ano=
if EXIST %ano% goto mes
if NOT EXIST %ano% goto crearano
pause


:crearano
MD %ano%
goto mes


:mes
cls
echo Inserte el numero del mes
set /p mes=
if %mes%==1 set fecha= enero
if %mes%==2 set fecha= febrero
if %mes%==3 set fecha= marzo
if %mes%==4 set fecha= abril
if %mes%==5 set fecha= mayo
if %mes%==6 set fecha= junio
if %mes%==7 set fecha= julio
if %mes%==8 set fecha= agosto
if %mes%==9 set fecha= septiembre
if %mes%==10 set fecha= octubre
if %mes%==11 set fecha= noviembre
if %mes%==12 set fecha= diciembre
pause
if "C:\Documents and Settings\parra\My Documents\facturacion\%ano%\%fecha%" exist goto menu
if "C:\Documents and Settings\parra\My Documents\facturacion\%ano%\%fecha%" not exist goto crearmes


:crearmes
mkdir C:\Documents and Settings\parra\My Documents\facturacion\%ano%\%fecha%
cls
goto menu
pause


El problema es a la hora de crear directorios y comprobarlos. Alguien sabe como hacer?
y de igual forma en esos mismos directorios que voy a crear como podria copiar algo? de ante mano gracias :D

PD: No les dejo el resto del code, por que ahi no radica el problema :l

Eleкtro

Usa correctamente la sintaxis y no tendrías el problema.

if "%mes%"=="12" (set "fecha=diciembre")

(Quita el espacio al lado del signo =)


EDITO:
Otro error:
Citarif "C:\Documents and Settings\parra\My Documents\facturacion\%ano%\%fecha%" exist goto menu
Código (dos) [Seleccionar]
If not exist "carpeta" (Goto :...)

Saludos








miguel0542

#2
Cuadno lo hcie se me desparramaron carpetas por lso epsacios que traia, entonces lo que hice fue cambiar aparte de loq ue me dijistes la ruta algo ams facil y quedo así:
Código (dos) [Seleccionar]

:mes
cls
echo Inserte el numero del mes
set /p mes=
if %mes%==1 set fecha=enero
if %mes%==2 set fecha=febrero
if %mes%==3 set fecha=marzo
if %mes%==4 set fecha=abril
if %mes%==5 set fecha=mayo
if %mes%==6 set fecha=junio
if %mes%==7 set fecha=julio
if %mes%==8 set fecha=agosto
if %mes%==9 set fecha=septiembre
if %mes%==10 set fecha=octubre
if %mes%==11 set fecha=noviembre
if %mes%==12 set fecha=diciembre
pause
if exist "%ano%\%fecha%" goto menu
if not exist "%ano%\%fecha%" goto crearmes


:crearmes
mkdir %ano%\%fecha%
cls
goto menu
pause


eres un groso!!!!! voy a testear a ver si no se me borran datos al hacer este proceso pero gracias :DDDDDD




(escribo de la ***** lol)




Nota dle mod: No hacer doble comentario porfavor.