Ms-Dos - Crear archivo bat

 
Vista:
sin imagen de perfil

Crear archivo bat

Publicado por Luis (1 intervención) el 08/10/2016 20:47:11
Hola a tod@s,

necesito un archivo bat que me ayude en lo siguiente: tengo un ejecutable (para el caso práctico vamos a suponer que se llama notepad.exe y está en C:\windows\); hasta ahora tengo un acceso directo en el escritorio que deseo sustituir con este nuevo bat.

El problema es que cuando notepad.exe se ejecuta, comprueba la fecha del sistema y si es posterior al mes de Septiembre de este año, se para su ejecución.

Al ejecutar el bat, necesitaría:

1.- Almacenar la fecha y hora actuales.

2.- Poner como fecha del sistema 01/01/2016 (y que se mantenga durante 100 segundos y luego vuelva a la fecha y hora actuales almacenados).

3.- Transcurridos unos 10 segundos de la puesta en fecha del punto 2, ejecutar notepad.exe.

4.- Salir (del bat, no de la ejecución de notepad).

Podéis ayudarme?
Visto lo que hacéis espero que no os suponga mucha complicación.

Gracias mil.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Crear archivo bat

Publicado por Antoni Masana (811 intervenciones) el 09/10/2016 21:05:31
Este BAT hace lo siguiente (explicado línea a línea)

2.- Guarda la fecha actual
3.- Pone la fecha del 1 de enero de 2016
4.- Espera tres segundos, no se puede cortar y no muestra mensaje
5.- Muestra la fecha
6.- Espera tres segundos, no se puede cortar y no muestra mensaje
7.- Restaura la fecha
8.- Espera tres segundos, no se puede cortar y no muestra mensaje
9.- Muestra la fecha

1
2
3
4
5
6
7
8
9
@echo off
Set Fecha=%Date%
Date 01/01/2016
timeout 3 /NOBREAK >nul
echo %Date%
timeout 3 /NOBREAK >nul
date %Fecha%
timeout 3 /NOBREAK >nul
echo %Date%

Tu BAT deberia ser algo si:

1
2
3
4
5
6
@echo off
Set Fecha=%Date%
Date 01/01/2016
start "Titulo" Tu_Programa Sus_Parametros
timeout 100 /NOBREAK >nul
date %Fecha%

¿Que hace? Cambia la fecha, lanza tu programa y lo desvincula (start "Titulo") del BAT, espera un minuto y 40 segundos y restaura la fecha.

¿Por que desvincular? Si no lo desvinculas el BAT no continua hasta que tu programa finalice.

ALGUNOS PROBLEMAS

- Algunas versiones de Windows no tienen el timeout. Si es tu caso te puedo pasar un SLEEP.BAT
- Algunas versiones de Windows no permiten modificar la fecha si no se ejecuta como administrador.
- Según la configuración la fecha y la hora pueden ajustarse sola cuando menos lo esperes.

Esto es todo

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Crear archivo bat

Publicado por Luis (2 intervenciones) el 10/10/2016 20:18:02
Un millón de gracias por contestar Antoni

Sólo una cuestión más: dejo el bat como sigue:



@echo off

Set Fecha=%Date%

Date 01/01/2016

start "C:\Archivos de Programa\GFT\nds.exe"

timeout 100 /NOBREAK >nul

date %Fecha%



y se ejecuta el bat (como Administrador en W7) de principio a fin (guarda fecha, cambia fecha y a los 100 segundos la restaura) pero no abre el ejecutable nds.exe


Se te ocurre qué puede pasar? La ruta está comprobada 100 veces...

Ahora gracias por tu tiempo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Crear archivo bat

Publicado por Antoni Masana (811 intervenciones) el 11/10/2016 06:22:42
Te falta un parámetro en el Start.

1
2
3
4
5
6
@echo off
Set Fecha=%Date%
Date 01/01/2016
start "Ejecutando NDS" "C:\Archivos de Programa\GFT\nds.exe"
timeout 100 /NOBREAK >nul
date %Fecha%

El primer parametro del comando START es el Titulo de la ventana.

Cuando abre una ventana de MS-DOS le pone el Titulo.

Puedes hacer esta prueba:

1
C:\>START "Mi Ventana" pause

También puedes hacerlo asi:

1
2
3
4
5
6
@echo off
Set Fecha=%Date%
Date 01/01/2016
start "" "C:\Archivos de Programa\GFT\nds.exe"
timeout 100 /NOBREAK >nul
date %Fecha%

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Crear archivo bat

Publicado por Luis (2 intervenciones) el 11/10/2016 14:18:00
Hola Antoni,

casi acierto... había puesto la ruta del star con dos comillas delante y dos detrás... pero claro, no daba resultado...

No sólo resuelves sino que, además, enseñas...

Mil gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Crear archivo bat

Publicado por oscar (1 intervención) el 03/05/2022 14:20:23
Estimado Antoni, gracias por tus aportaciones, me vino muy bien el truco de desvincular con start, el bat que hice a continuación:

start "C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe" "E:\Downloads\FX-1000F__FX-5000F.pdf"
start "c:\Program Files\Corel\CorelDRAW Graphics Suite 2017\Programs64\CorelDRW.exe" "M:\COREL\dibujo1 calculadora.cdr"
start "C:\Program Files\Microsoft Office\root\Office16\WINWORD.EXE" "E:\Documents\botones calculadora.docx"

Puedo abrir muchos archivos de una tacada, muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar