pequeño problema en .BAT

Iniciado por mk_137, 30 Abril 2008, 10:35 AM

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

mk_137

Hola a todos,

tengo un pequeño problema, seguro que es una tonteria pero he probado muchas cosas y no encuentro la solución.
este es el archivo en cuestión.
Citar@echo off
set var=1

rename image1.txt image1.jpg
rename image2.txt image2.jpg
rename image3.txt image3.jpg
rename image4.txt image4.jpg

:bucle

if %var%==0 (goto exit) else set /A var=%var%-1
image1.jpg
image2.jpg
image3.jpg
image4.jpg

goto bucle

:exit
rename image1.jpg image1.txt
rename image2.jpg image2.txt
rename image3.jpg image3.txt
rename image4.jpg image4.txt
exit

queria hacer un BAT que cogiera 4 imagenes escondidas en txt, las pasara a jpg, y las fuera abriendo. pero tengo dos problemas.


  • Cuando se abre la primera, el cmd se espera hasta que cierre esa imagen para abrir la siguiente. Y lo que yo quiero es que se abran todas.
  • Creo que si está abierta la imagen i la paso a txt la imagen que esta abierta desaparece. No se puede dejar abierta la imagen aunque ya no exista??

Casidiablo

Ok... puedes intentar abrir las imágenes anteponiendo el comando start, o sea:

start image1.jpg
start image2.jpg
start image3.jpg
start image4.jpg

Pero creo que el visor de imágenes de Windows está configurado para que se abra solo una imagen a la vez. Por lo que el resultado será casi el mismo, excepto que quedará abierta la última imágen. Con respecto a lo otro, podrías crear una imagen temporal, para que no deje de mostrarse una vez no exista la original.

Es lo unico que se me ocurre :(

Un saludo!

mk_137

Muchas gracias Casidiablo,
al decirme k el problema es del visor de windows se me ha ocurrido poner

explorer image1.jpg
explorer image2.jpg
explorer image3.jpg
explorer image4.jpg

de este modo ya se pueden abrir todas las imagenes.
ahora me queda el otro problema.

al final del programa, al cambiarles el nombre se cierran todas las ventanas que se havian abierto. De este modo no tiene ninguna gracia la broma.

Al principio pensava k al abrirse una imagen, lo que se abria era una copia temporal de ella, pero veo que no, en todo momento depende de la original.

no se puede crear en un espacio temporal, pero que se elimine al cerrar las imagenes???

No_NICK

@echo off

if exist imagen1.txt copy imagen1.txt %temp% && ren %temp%\imagen1.txt i1.jpg
if exist imagen2.txt copy imagen2.txt %temp% && ren %temp%\imagen2.txt i2.jpg
cls

:bucle

explorer.exe %temp%\i1.jpg
explorer.exe %temp%\i2.jpg

:::: goto bucle

  creo q es lo q quieres, esto copiara las imágenes a un directorio temporal luego las abrirá desde el directorio temporal...  aun q no entiendo exactamente q es lo que quieres ...

espero poderte ayudar

Salu2


mk_137

ya lo solucioné todo, pero no pude editar el ultimo post.

lo que hice es crear una copia en la carpeta temp, i abrirlo desde allí. como me ha propuesto NO_nick.

era solo para hacerle una pequeña broma a mi novia.
Muchas gracias.