Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: corax en 10 Octubre 2009, 11:06 am



Título: [batch] problema con variables y espacios[Solucionado]
Publicado por: corax en 10 Octubre 2009, 11:06 am
buenos días a todos

estoy intentando hacer una herramienta bastante simple en batch que abra una carpeta si se llama igual que el archivo bat que se esté ejecutando

para eso estoy usando el código:
Código:
If exist %~d0%~p0%~n0\ (start %~d0%~p0%~n0\) else (echo la carpeta no existe&pause>nul)

y funciona... excepto con aquellas rutas que tienen espacios, como C:\Documents and Settings, por ejemplo

creo que debe haber una solución, pero por más vueltas que le doy, no se la encuentro... ¿a alguien se le ocurre cómo podría solucionarse?

gracias por adelantado


Título: Re: [batch] problema con variables y espacios
Publicado por: FranciskoAsdf en 10 Octubre 2009, 15:49 pm
Para que las rutas con ESPACIOS no te den problemas, debes encerrarlas entre comillas dobles , así :
Código:
"C:\Tengo Calor en el trabajo\mi jefe apesta xD\"
ves ? ^^, es super simple.
Código
  1. If exist "%~d0%~p0%~n0\" (start "%~d0%~p0%~n0\") else (echo la carpeta no existe&pause>nul)
  2.  
asi debeeria funcionar el code, pero si no , quitale las comillas dobles al commando start


Saludos y espero que te sirva ^^


Título: Re: [batch] problema con variables y espacios
Publicado por: corax en 10 Octubre 2009, 16:10 pm
Gracias por la respuesta.
Lo de usar comillas dobles ya lo había probado, pero al hacerlo no abre la carpeta, sino que salta otra consola de comandos  :-\


Título: Re: [batch] problema con variables y espacios
Publicado por: leogtz en 10 Octubre 2009, 19:06 pm
Según el código de Panxin.boo, prueba así:
Código:
If exist "%~d0%~p0%~n0\" (start "" /b "%~d0%~p0%~n0\") else (echo la carpeta no existe
pause>nul
)


Título: Re: [batch] problema con variables y espacios (solucionado)
Publicado por: corax en 10 Octubre 2009, 19:12 pm
Funciona... Muchas gracias  ;D