duda sobre script en batch

hola , tengo una duda y me gustaria encontrar su solucion [Ooooo] .
el caso es que estoy preparando un script en batch que me automatizara ciertas tareas (descomprimir archivos para volverlos a comprimir con el nombre que yo kiera y registro de recuperacion. nada muy complejo a priori) y ya lo tengo casi listo , pero me surje un problema con las variables.se que a un batch puedo pasarle datos con el tipico %1 , pero para esta solucion tendria que ejecutar el script desde consola de texto en lugar de hacerlo desde el entorno grafico. lo que yo quisiera es que me preguntase "introduzca ahora el contenido de la variable" (esto con echo , no hay problema [toctoc] ) y entonces que se quede a la espera de que se lo introduzca. en definitiva , el read del bash , pero para batch.

por mas que he mirado en google no veo ningun comando que me permita hacer esto y ya me pregunto si no existira. es asi?


gracias por vuestra ayuda
Creo que no lo he entendido. Cual es el problema de usar read?
que estamos en batch (.bat , de windows) y no en bash (shell de linux).el read no funciona en batch y presisamente lo que quiero saber es si hay algo ke equivalga al read.
Pero eso no es software libre ¿no?
Ya pero los que entendemos de scripts andamos por aqui ;-) A ver si me acuerdo, para esto en windows XP se usa set /P [valor_por_defecto] si recuerdo bien.
En tiempos DOSeros, usaba el comando choice, que no se si sigue incluido en los 2000/XP'eses
pero tanto set como choice solo me permitirian opciones ya predefinidas en el momento de hacer el script , no?. mi intencion es introducirle el nombre del .rar (que siempre sera distinto , es solo un sistema para descomprimir cosas de varios volumenes automaticamente y comprimir en 1 solo archivo con registro de recuperacion , por si los errores en el dvd) en el momento en el que ejecuto y olvidarme del resto del proceso (actualmente lo hago todo a mano desde el entorno grafico).

el bash para windows me parece buena idea , ya que me permitiria usar el mismo script tambien en linux (trabajo que me ahorro :-p ) , pero no estoy muy seguro de si winrar (y , por añadidura , cualquier programa que se pueda manejar por dos) ira bien con esto.en cualquier pruebo y os lo confirmo.


pd: efectivamente , postee aqui por que considero que es el foro mas adecuado para una pregunta de este tipo :-p .y si se tercia , una vez que acabe el script lo publico con licencia gpl :Ð


edit: desgraciadamente y como me temia el bash no me es de utilidad. va perfecto , pero no traga los nombres con espacio y windows esta minado de ellos (no sera la primera vez que tengo problemas con "mis documentos" o con "archivos de programa" [buuuaaaa] )
Hum... soluciones posibles. Usar comillas o poner \ despues de cada espacio.

Ejemplo "Mis Documentos"
"Mis\ Documentos"

Quizas te valga ;)

Salu2!
lamentablemente , el bash me esta fallando mas que una escopeta de feria , asi que voy a tener que descartarlo (ademas , no viene de serie en cualquier pc). he pensado en una solucion alternativa , que ademas tendria de bueno que seria automatica , aunque me obliga a quedarme con el antiguo nombre (que ya me vale) , pero tendria que meter el nombre que quiero (que obtengo con un simple dir /b *.rar ) dentro de una variable. el problema ahora es que el set me guarda lo que le ponga como cadena y nuevamente ni help set ni google me dan buenos resultados , asi que voy a tener que pediros ayuda una vez mas :-P .

la pregunta es: hay algun modo de que el set guarde el resultado de un comando en lugar de la cadena ( si ejecuto set NOM = dir /b *.rar que me guarde en NOM el nombre del unico .rar que tengo en el directorio , no dir /b *.rar) o bien , que el .bat interprete el dir dentro de otro comando? (concretamente
"C:\Archivos de programa\WinRAR\winrar.exe" A -rr3 "C:\Documents and Settings\Administrador\Escritorio\Nueva carpeta\%nom" "%nom\*" donde nom es el lugar donde quiero situar el resultado de dir /b *.rar).

gracias de nuevo por la ayuda
Porque no usas un lenguaje de scripting de verdad?
10 respuestas