Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: ubuntusero en 16 Mayo 2012, 23:46 pm



Título: [AYUDA] Arrastrar archivo dentro de un bat
Publicado por: ubuntusero en 16 Mayo 2012, 23:46 pm
Buenas compañeros, os e leido mucho durante mucho tiempo y hoy decido participar.. con una duda xD

Necesito que al soltar un archivo en un bat este lea su ruta y la guarde en un .txt es eso posible?

Saludos!!


Título: Re: [AYUDA] Arrastrar archivo dentro de un bat
Publicado por: BatchianoISpyxolo en 17 Mayo 2012, 00:26 am
Código
  1. @set /p ruta=
  2. @echo "%ruta%" > file.txt

Sueltas el archivo y presionas enter.

Edito: las comillas de la ruta xD


Título: Re: [AYUDA] Arrastrar archivo dentro de un bat
Publicado por: ubuntusero en 17 Mayo 2012, 00:45 am
Gracias por contestar compañero, no me va :S suelto el archivo me sale la ventana en negro, pulso enter y devuelve esto al file.txt

ECHO est  activado.

Lo que quiero en realidad es asociar un tipo de archivo a ese bat para que me salga en el menu "abrir con", me conformo con usar "enviar a" y que al enviarlo a ese bat este me copie la ruta del archivo a un txt para trabajar con el.

Saludos!


Título: Re: [AYUDA] Arrastrar archivo dentro de un bat
Publicado por: BatchianoISpyxolo en 17 Mayo 2012, 01:11 am
Gracias por contestar compañero, no me va :S suelto el archivo me sale la ventana en negro, pulso enter y devuelve esto al file.txt

ECHO est  activado.

Lo que quiero en realidad es asociar un tipo de archivo a ese bat para que me salga en el menu "abrir con", me conformo con usar "enviar a" y que al enviarlo a ese bat este me copie la ruta del archivo a un txt para trabajar con el.

Saludos!

Es que al arrastrarlo directamente sin abrirlo, lo único que haces es abrir el .bat. Lo que debes hacer, es abrir el bat, arrastrar y presionar enter para que haga su función. Lo de abrir con, no sé si es posible.


Título: Re: [AYUDA] Arrastrar archivo dentro de un bat
Publicado por: ubuntusero en 17 Mayo 2012, 01:17 am
Calro, ese es el problema, a ver si alguien sabe si esto que pido es posible.. gracias de todas maneras por el interes.

Saludos!


Título: Re: [AYUDA] Arrastrar archivo dentro de un bat
Publicado por: Eleкtro en 17 Mayo 2012, 12:49 pm
el compañero batchiano ya te lo ha explicado, pero bueno...aqui tienes:


Código
  1. @Echo off
  2. :Start
  3. set /P file=
  4. If not defined FILE (Echo arrastra el maldito archivo & Goto :Start)
  5. echo "%file%" > file.txt

salu2


Título: Re: [AYUDA] Arrastrar archivo dentro de un bat
Publicado por: ubuntusero en 17 Mayo 2012, 13:05 pm
Entonces no hay nada que hacer no? no me vale tener que arrastrar el archivo a la ventana del bat...

Saludos!


Título: Re: [AYUDA] Arrastrar archivo dentro de un bat
Publicado por: ubuntusero en 18 Mayo 2012, 13:35 pm
UP! alguna solución?



Título: Re: [AYUDA] Arrastrar archivo dentro de un bat
Publicado por: Eleкtro en 18 Mayo 2012, 19:50 pm
Necesito que al soltar un archivo en un bat este lea su ruta y la guarde en un .txt
no me vale tener que arrastrar el archivo a la ventana del bat...

? Te estás contradiciendo...

¿Que es lo que quieres?.

Salu2.


Título: Re: [AYUDA] Arrastrar archivo dentro de un bat
Publicado por: Runex en 18 Mayo 2012, 20:04 pm
? Te estás contradiciendo...

¿Que es lo que quieres?.

Salu2.

Se referirá a dejar caer el archivo sobre el icono del bat, y no sobre la ventana ya abierta, o eso creo vamos :)


Título: Re: [AYUDA] Arrastrar archivo dentro de un bat
Publicado por: Eleкtro en 18 Mayo 2012, 20:14 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
  1. @Echo OFF
  2. :: Para un solo archivo:
  3. If NOT "%~1"=="" (echo %~1 >> file.txt )
  4.  
  5. :: Para un conjunto de archivos:
  6. REM If NOT "%~1"=="" (echo %* >> file.txt )
  7.  

Salu2



Título: Re: [AYUDA] Arrastrar archivo dentro de un bat
Publicado por: ubuntusero en 18 Mayo 2012, 20:36 pm
Ah, Bueno!

Entonces hace falta agarrar el argumento, Así:

Código
  1. @Echo OFF
  2. :: Para un solo archivo:
  3. If NOT "%~1"=="" (echo %~1 >> file.txt )
  4.  
  5. :: Para un conjunto de archivos:
  6. REM If NOT "%~1"=="" (echo %* >> file.txt )
  7.  

Salu2



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


Título: Re: [AYUDA] Arrastrar archivo dentro de un bat
Publicado por: estantaya en 24 Marzo 2013, 19:48 pm
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 :(


Título: Re: [AYUDA] Arrastrar archivo dentro de un bat
Publicado por: Eleкtro en 24 Marzo 2013, 20:09 pm
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.