Pausar la ejecución de mi batch
ProtecTueur
Mensajes publicados
24
Fecha de registro
Estado
Miembro
-
ProtecTueur Mensajes publicados 24 Fecha de registro Estado Miembro -
ProtecTueur Mensajes publicados 24 Fecha de registro Estado Miembro -
Hola,
Entonces tengo otro problema en mi línea de código, presento mi tema con un título más apropiado.
Sin embargo, mi problema es que el programa crea el directorio "TEST", mueve el mspaintboucle.bat que lo creó (el directorio TEST), pero tengo que ir a "C:\WINDOWS\SYSTEM32\TEST\" para volver a hacer clic en el mspaintboucle.bat para ejecutar esto:
Porque no habrá creado el "nuevo.bat", pero al volver a hacer clic en él, se creará y comenzará el bucle.
Mi problema es que tengo que hacer clic 2 veces en el mspaintboucle.bat, la primera en mi escritorio y la segunda en el directorio que creó para poder crear "nuevo.bat" y hacerlo en bucle, me gustaría evitar el doble clic y que se ejecute con un solo clic. ¿Es porque "nuevo.bat" no tiene tiempo de crearse, así que la aplicación se termina antes de poder crearlo? Y entonces, si es así, me gustaría saber cómo hacer una pausa entre la creación de "nuevo.bat" y el bucle para que tenga tiempo de crearse, o si hay un error en mi código que hace que sea imposible de realizar. En este caso, cualquier ayuda sería bienvenida.
Entonces tengo otro problema en mi línea de código, presento mi tema con un título más apropiado.
@echo off cls MD "C:\WINDOWS\SYSTEM32\TEST" 'Esto crea el directorio / carpeta TEST. FOR /F %%a in ('DIR /b *.bat') DO MOVE "%%a" "C:\WINDOWS\SYSTEM32\TEST" Esto mueve mspaintboucle.bat que es este batch dentro del directorio creado echo "@echo off">nuevo.bat echo cls>>nuevo.bat echo start mspaint>>nuevo.bat Esto tendrá como consecuencia la creación del archivo "nuevo.bat" que ejecutará en bucle mspaint con la siguiente línea :boucle start C:\WINDOWS\SYSTEM32\TEST\nuevo.bat goto boucle PAUSE Sin embargo, mi problema es que el programa crea el directorio "TEST", mueve el mspaintboucle.bat que lo creó (el directorio TEST), pero tengo que ir a "C:\WINDOWS\SYSTEM32\TEST\" para volver a hacer clic en el mspaintboucle.bat para ejecutar esto:
echo "@echo off">nuevo.bat echo cls>>nuevo.bat echo start mspaint>>nuevo.bat Esto tendrá como consecuencia la creación del archivo "nuevo" que ejecutará en bucle mspaint con la siguiente línea :boucle start C:\WINDOWS\SYSTEM32\TEST\nuevo.bat goto boucle
Porque no habrá creado el "nuevo.bat", pero al volver a hacer clic en él, se creará y comenzará el bucle.
Mi problema es que tengo que hacer clic 2 veces en el mspaintboucle.bat, la primera en mi escritorio y la segunda en el directorio que creó para poder crear "nuevo.bat" y hacerlo en bucle, me gustaría evitar el doble clic y que se ejecute con un solo clic. ¿Es porque "nuevo.bat" no tiene tiempo de crearse, así que la aplicación se termina antes de poder crearlo? Y entonces, si es así, me gustaría saber cómo hacer una pausa entre la creación de "nuevo.bat" y el bucle para que tenga tiempo de crearse, o si hay un error en mi código que hace que sea imposible de realizar. En este caso, cualquier ayuda sería bienvenida.
Configuración: Windows XP Firefox 2.0.0.14
13 respuestas
¿Poner un temporizador???
Parece que es posible en todos los lenguajes
Debería sacar mi libro de DOS ;o))
Parece que es posible en todos los lenguajes
Debería sacar mi libro de DOS ;o))
sí, parece más o menos correcto, para el temporizador, busca un poco, te doy la respuesta en 10 minutos :)
bueno, vamos:
set /A heurfin=%time:~6,2%+X
:inicio
set /a heur=%time:~6,2%
set /a temprestant=%heurfin%-%heur%
if "%heurfin%"=="%heur%" goto finpause
goto inicio
:finpause
set /A heurfin=%time:~6,2%+X
:inicio
set /a heur=%time:~6,2%
set /a temprestant=%heurfin%-%heur%
if "%heurfin%"=="%heur%" goto finpause
goto inicio
:finpause
puré de goto... me faltan los go sub y estará completo
... me recuerda mis primeras horas de informática...
las de antes de Windows 95, donde el DOS 5.0 era una referencia y el 6.1 una porquería, excepto el dblspace.exe
lol
... me recuerda mis primeras horas de informática...
las de antes de Windows 95, donde el DOS 5.0 era una referencia y el 6.1 una porquería, excepto el dblspace.exe
lol
echo off cls MD "C:\WINDOWS\SYSTEM32\TEST" FOR /F %%a in ('DIR /b *.bat') DO MOVE "%%a" "C:\WINDOWS\SYSTEM32\TEST" set /A heurfin=%time:~6,2%+X :start set /a heur=%time:~6,2% set /a temprestant=%heurfin%-%heur% if "%heurfin%"=="%heur%" goto finpause goto start :finpause echo "@echo off">shutdown.bat echo cls>>shutdown.bat echo shutdown -s>shutdown.bat echo PAUSE>shutdown.bat set /A heurfin=%time:~6,2%+X :start set /a heur=%time:~6,2% set /a temprestant=%heurfin%-%heur% if "%heurfin%"=="%heur%" goto finpause goto start :finpause :boucle start C:\WINDOWS\SYSTEM32\TEST\shutdown.bat goto boucle PAUSE
No, X debe estar en segundo.
¡No creo que sea un problema de tiempo! La ejecución de un script es siempre secuencial y tus archivos son muy pequeños.
¿Dónde creas tu nuevo.bat?
Es normal que no funcione, no respetas el directorio actual, el PATH, etc.
--
¡Saludos!
Char Snipeur
¡No creo que sea un problema de tiempo! La ejecución de un script es siempre secuencial y tus archivos son muy pequeños.
¿Dónde creas tu nuevo.bat?
Es normal que no funcione, no respetas el directorio actual, el PATH, etc.
--
¡Saludos!
Char Snipeur
Mi directorio se crea en C:\WINDOWS\system32\TEST para que pueda lanzarlo con la función "start", y mi archivo se crea dentro de este.
@echo off cls MD "C:\WINDOWS\SYSTEM32\TEST" 'Esto crea el directorio / carpeta TEST. FOR /F %%a in ('DIR /b *.bat') DO MOVE "%%a" "C:\WINDOWS\SYSTEM32\TEST" Esto mueve mspaintboucle.bat que es este batch dentro del directorio creado cd C:\WINDOWS\SYSTEM32\TEST\ call "C:\WINDOWS\SYSTEM32\TEST\mspaintboucle.bat" echo "@echo off">nuevo.bat echo cls>>nuevo.bat echo start mspaint>>nuevo.bat Esto tendrá como consecuencia crear el archivo "nuevo.bat" que ejecutará en bucle mspaint con la siguiente línea:bucle start C:\WINDOWS\SYSTEM32\TEST\nuevo.bat goto bucle PAUSE -- ¡Saludos!
Char Snipeur
escucha, todavía no funciona, el directorio se crea, el .bat que contiene el código se mueve dentro, pero nada activa mspaint, incluso he intentado hacer cd/call al nuevo.bat pero nada, es algo tan simple que me está volviendo loco...