Comanso AT

05/06/2007 - 09:47 por ErRoReS | Informe spam
Hola a todos:

He creado un archivo .bat para que me realice las copias de seguridad de una
carpeta y dependiendo del día de la semana que sea lo haga en un disco u
otro.

Si ejecuto el archivo, haciendo doble click en el, se ejecuta bien, pero si
creo la tarea con el comando at no se ejecuta bien.

He creado un bat de prueba para detectar el problema

@echo on
date
pause
date /t
Set fecha=%date%
set fecha
pause

Y este es el resultado que da cuando se ejecuta mendiante el comando at
C:\WINDOWS\system32>date
La fecha actual es: 05/06/2007
Escriba la nueva fecha: (dd-mm-aa)

C:\WINDOWS\system32>pause
Presione una tecla para continuar . . .
C:\WINDOWS\system32>date /t
05/06/2007
C:\WINDOWS\system32>Set fecha/06/2007
C:\WINDOWS\system32>set fecha
fecha/06/2007
C:\WINDOWS\system32>pause
Presione una tecla para continuar . . .

Y este es el resultado cuando lo ejecuto directamente
C:\>date
La fecha actual es: mar 05/06/2007
Escriba la nueva fecha: (dd-mm-aa)
C:\>pause
Presione una tecla para continuar . . .
C:\>date /t
mar 05/06/2007
C:\>Set fecha=mar 05/06/2007
C:\>set fecha
fecha=mar 05/06/2007
C:\>pause
Presione una tecla para continuar . . .


El formato de fecha corta es dddd dd/MM/aaaa, lo que no entiendo es por que
de una manera me da la fecha en formato largo y otra en corto. Esto me
ocurre en Win XP y en Win2003 pero en win2000 me ha funcionado sin
problemas.

Me podrías indicar que esto haciendo mal.

Un saludo y gracias.
 

Leer las respuestas

#1 Ramón Sola [MVP Windows - Shell/User]
06/06/2007 - 03:27 | Informe spam
AT asigna la nueva tarea programada a la cuenta de usuario SYSTEM (Local System).
Existe una discrepancia entre la configuración de fecha corta de la cuenta SYSTEM
y la de tu perfil de usuario. Obsérvalo en Regedit comparando el valor
'sShortDate' de estas dos claves:

HKEY_CURRENT_USER\Control Panel\International
HKEY_USERS\S-1-5-18\Control Panel\International

S-1-5-18 es el identificador de seguridad (SID) de la cuenta Local System.

Puedes editar el valor sShortDate de la clave HKEY_USERS\S-1-5-18\Control
Panel\International para que coincida con el formato de fecha corta que
necesites: para el formato descrito sería "ddd dd/MM/yyyy" sin las comillas.

Ramón Sola / / MVP Windows - Shell/User
Para obtener la dirección correcta no hacen falta los sellos.
Por favor, usar el correo sólo para cuestiones ajenas a los
grupos de noticias, gracias.

Un buen día, ErRoReS () tuvo la irrefrenable necesidad de
escribir:
Hola a todos:

He creado un archivo .bat para que me realice las copias de seguridad de una
carpeta y dependiendo del día de la semana que sea lo haga en un disco u
otro.

Si ejecuto el archivo, haciendo doble click en el, se ejecuta bien, pero si
creo la tarea con el comando at no se ejecuta bien.

He creado un bat de prueba para detectar el problema

@echo on
date
pause
date /t
Set fecha=%date%
set fecha
pause

Y este es el resultado que da cuando se ejecuta mendiante el comando at
C:\WINDOWS\system32>date
La fecha actual es: 05/06/2007
Escriba la nueva fecha: (dd-mm-aa)

C:\WINDOWS\system32>pause
Presione una tecla para continuar . . .
C:\WINDOWS\system32>date /t
05/06/2007
C:\WINDOWS\system32>Set fecha/06/2007
C:\WINDOWS\system32>set fecha
fecha/06/2007
C:\WINDOWS\system32>pause
Presione una tecla para continuar . . .

Y este es el resultado cuando lo ejecuto directamente
C:\>date
La fecha actual es: mar 05/06/2007
Escriba la nueva fecha: (dd-mm-aa)
C:\>pause
Presione una tecla para continuar . . .
C:\>date /t
mar 05/06/2007
C:\>Set fecha=mar 05/06/2007
C:\>set fecha
fecha=mar 05/06/2007
C:\>pause
Presione una tecla para continuar . . .


El formato de fecha corta es dddd dd/MM/aaaa, lo que no entiendo es por que
de una manera me da la fecha en formato largo y otra en corto. Esto me
ocurre en Win XP y en Win2003 pero en win2000 me ha funcionado sin
problemas.

Me podrías indicar que esto haciendo mal.

Un saludo y gracias.

Preguntas similares