[AYUDA] Arrastrar archivo dentro de un bat

Iniciado por ubuntusero, 16 Mayo 2012, 23:46 PM

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

Eleкtro

Cita de: Runex en 18 Mayo 2012, 20:04 PM
Se referirá a dejar caer el archivo sobre el icono del bat, y no sobre la ventana ya abierta, o eso creo vamos :)

Ah, Bueno!

Entonces hace falta agarrar el argumento, Así:

Código (dos) [Seleccionar]
@Echo OFF
:: Para un solo archivo:
If NOT "%~1"=="" (echo %~1 >> file.txt )

:: Para un conjunto de archivos:
REM If NOT "%~1"=="" (echo %* >> file.txt )

Exit


Salu2









ubuntusero

Cita de: EleKtro H@cker en 18 Mayo 2012, 20:14 PM
Ah, Bueno!

Entonces hace falta agarrar el argumento, Así:

Código (dos) [Seleccionar]
@Echo OFF
:: Para un solo archivo:
If NOT "%~1"=="" (echo %~1 >> file.txt )

:: Para un conjunto de archivos:
REM If NOT "%~1"=="" (echo %* >> file.txt )

Exit


Salu2



Perfecto macho..... PERFECTO!!! no se como agradecertelo de verdad... plas,plas,plas....  ;-) ;-)

estantaya

se que el tema es viejo pero necesito hacer algo parecido

no se trata de arrastrar un fichero al batch sino que cuando la ventana cmd este abierta y soltar el archivo el programa se ponga a funcionar sin necesidad de apretar enter

no me sirve "set /p ruta=" porque hay que apretar enter

como hago esto :(

Eleкtro

Hola estantaya

1. Deberías haber creado un post y no revivir un tema antiguo

2. Lamentáblemente lo que necesitas no puedes conseguirlo en un lenguaje tán simple como Batch. solo dispone de "set /P" y por obligación hay que pulsar enter, tán simple como eso.

La única alternativa que puedes hacer es arrastrar el archivo al ARCHIVO bat, y de esa manera tu script se iniciaría recibiendo el archivo como argumento %1.

Te recomiendo que te plantees hacer una aplicación gráfica y manejes el evento de arrastrar (Drag&Drop) y ahí ya puedes moldear lo que quieras a tu gusto sin complicaciones, es mucho mejor que comerse la cabeza con el userinput en los lenguajes de scripting.

Si tienes dudas puedes crear un nuevo tema, pero como te digo en Batch es imposible.
Saludos!

PD: Tema cerrado.