hs: command dos AT

Le
Dr John
Bonjour,

Je n'arrive pas à trouver la syntaxe pour programmer une tâche avec la
commande AT un jour précis à l'heure H. Par exemple, le mardi 1er
juillet à 10h.

Quelqu'un peut-il m'aider svp ? Merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
kduc
Le #14456761
Dr John a écrit :
Bonjour,

Je n'arrive pas à trouver la syntaxe pour programmer une tâche avec la
commande AT un jour précis à l'heure H. Par exemple, le mardi 1er
juillet à 10h.

Quelqu'un peut-il m'aider svp ? Merci




Pour un jour précis comme le 20 juillet prochain, je ne crois pas que
ça fonctionne.

Je vous recommande d'utiliser plutôt Winat (gratuit) ou le
planificateur de Windows.

Sinon, la syntaxe est :

AT [\computername] [ [id] [/DELETE] | /DELETE [/YES]]
AT [\computername] time [/INTERACTIVE]
[ /EVERY:date[,...] | /NEXT:date[,...]] "command"

\computername <file://\computername> Spécifie un ordinateur distant.
Les commandes seront exécutées sur l'ordinateur local si ce paramètre
est omis.
id est un identifiant pour une commande planifiée.
/delete supprime une commande planifiée. Si id est omis, touites les
commandes sont annulées.
/yes est a utiliser pour la confirmation automatique de la suppression
de toutes les commandes.
time Spécifie l'heure de démarrage de la commande.
/interactive Permet l'interactivité avec le bureau de l'utilisateur
logé à l'heure où la commande est lancée (ouverture d'une fenêtre
message au moyen d'echo par exemple "echo coucou").
/every:date[,...] Lance la commande périodiquement chaque jour
indiqué. Si date est omis, le jour courant du mois est pris par défaut.
/next:date[,...] Démarre la commande au prochain jour indiqué (par
exemple le prochain lundi).
"command" La commande ou le batch à exécuter.

AT 10:00 /NEXT:ma "msconfig.exe"

A noter que les jours peuvent être abréviés (commande every) :

lundi = l
mardi = ma
mercredi = me
jeudi = j
vendredi = v
samedi = s
dimanche = d
Dr John
Le #14456751
kduc avait écrit le 01/06/2008 :


Pour un jour précis comme le 20 juillet prochain, je ne crois pas que
ça fonctionne.

Je vous recommande d'utiliser plutôt Winat (gratuit) ou le
planificateur de Windows.



Et en ligne de commande ?
kduc
Le #14456901
Dr John a écrit :
kduc avait écrit le 01/06/2008 :

Pour un jour précis comme le 20 juillet prochain, je ne crois pas que
ça fonctionne.

Je vous recommande d'utiliser plutôt Winat (gratuit) ou le
planificateur de Windows.



Et en ligne de commande ?




Vous avez la totalité de la syntaxe dans mon premier message.
Dr John
Le #14456891
kduc a exposé le 01/06/2008 :

Vous avez la totalité de la syntaxe dans mon premier message.



Bein oui mais ça ne fait pas ce que je cherche.
kduc
Le #14456881
Dr John a écrit :
kduc a exposé le 01/06/2008 :

Vous avez la totalité de la syntaxe dans mon premier message.



Bein oui mais ça ne fait pas ce que je cherche.




Merci quand même pour votre attention.
Michel_D
Le #14456871
Bonjour,

Dr John a écrit :
kduc a exposé le 01/06/2008 :

Vous avez la totalité de la syntaxe dans mon premier message.



Bein oui mais ça ne fait pas ce que je cherche.



Le controle de la date pourrais être réalisé ailleurs, dans un
fichier de commande par exemple.
Dr John
Le #14456861
Michel_D avait prétendu :


Le controle de la date pourrais être réalisé ailleurs, dans un
fichier de commande par exemple.



Pourquoi pas mais en fait il y a une autre solution que je viens de
découvrir qui est fournie avec xp c'est la commande Schtasks.exe qui
permet d'entrer la date complète.

http://support.microsoft.com/kb/814596/fr

Évidement ça amène un nouveau problème, car quand j'exécute la commande
avec le nom du système, le nom de l'utilisateur et le mot de passe
j'obtiens l'erreur

ERREUR : Passage des informations d'identification de l'utilisateur sur
la connexion locale.

En omettant le nom du système + user + pass ça marche mais il faut le
taper à la mimine l'user + pass et valider.
Dr John
Le #14456851
Bon ça marche impec en ligne de commande, avec par exemple:

schtasks /create /tn test /ru Administrateur /rp milou /sc once /sd
12/08/2008 /st 12:00:00 /tr notepad.exe

Au départ je faisais avec /u et /p pour user et password mais c'est /ru
/rp qui est valide en local.
Jean-Claude BELLAMY
Le #14484341
(j'ai VIRÉ cette horreur de "DOS" accolé à la commande AT, car i ln'y a rien
de DOS là-dedans !)

"Dr John" news:
Bonjour,

Je n'arrive pas à trouver la syntaxe pour programmer une tâche avec la
commande AT un jour précis à l'heure H. Par exemple, le mardi 1er juillet
à 10h.



Impossible !

Avec la commande AT, on ne peut pas définir une date précise dans l'année
(avec le mois) !
La planification la plus "lointaine" possible est obtenue en précisant le
quantième dans le mois en cours.

-> Tu dois utiliser un outil autre que "AT" si tu veux une plage plus
grande.

Ou alors passer par un batch intermédiaire, qui va tester le mois en cours.
p.ex. :
"execmois.bat"
admet en paramètres :
- une commande (exe, batch, ...)
- le n° du mois auquel cette commande
doit être exécutée

@echo off
if %1.==. goto fin
if %2.==. goto fin
set mois=%date:~3,2%
if %mois% NEQ %2 goto fin
%1
:fin

et on planifie l'exécution de "execmois.bat matache.exe 7" avec AT tous les
1er de chaque mois !



Rappel de la syntaxe de la commande AT :
============================== (obtenue à partir de l'aide en ligne, et complétée par mes soins)

AT [\ordinateur] [ [id] [/DELETE] | /DELETE [/YES]]
AT [\ordinateur] heure [/INTERACTIVE] [ /EVERY:date[,...] |
/NEXT:date[,...]] "commande"

\ordinateur
Spécifie un ordinateur distant.
Les commandes sont planifiées sur l'ordinateur local si ce paramètre est
omis.

id
Identificateur (nombre) affecté à une commande planifiée.

/DELETE
Supprime une commande planifiée.
Si id est omis, toutes les commandes sur l'ordinateur sont supprimées.

/YES
Utilisée pour supprimer toutes les tâches sans demande de confirmation.

heure
Heure de l'exécution de la commande.
L'heure est exprimée en heures:minutes et en notation 24 heures
(de 00:00 [minuit] à 23:59).

/INTERACTIVE
Permet au travail d'interagir avec le bureau de l'utilisateur
qui est connecté au moment où le travail est effectué.

/EVERY:date[,...]
Exécute la commande tous les jours spécifiés de la semaine ou du mois.
Une date est soit un jour de la semaine (l,m,me,j,v,s,d) ou du mois (1 à
31)
Si la date est omise, le jour en cours du mois est utilisé par défaut.

/NEXT:date[,...]
Exécute la commande lors de la prochaine occurrence du jour
(par exemple, jeudi prochain).
Si la date est omise, le jour en cours du mois est utilisé par défaut.

"commande"
Commande Windows NT, ou programme de commandes à exécuter.
Elle doit être encadrée de guillemets si elle contient des espaces.



Exemples :
======= Synchronisation de l'heure avec le système shelbyville chaque jour à minuit
:
at 00:00 /every:l,m,me,j,v,s,d "cmd net time \shelbyville /set /yes"
Tâche ajoutée avec ID = 1

Vérification de la file de commandes :
at
Etat ID Jour Heure Ligne de commande
-------------------------------------------------------------------------------
1 Chaque L M Me J V S D 00:00 AM "cmd net time
\shelbyville /set /yes"

Annulation de la commande d'id 1 :
at 1 /delete

Vérification de la file de commandes :
>at
La liste est vide.

Planification de sauvegardes à minuit :
at 00:00 /every:d "cmd ntbackup backup d:e /a /v"
at 00:00 /every:l,m,me,j,v,s "cmd ntbackup backup d:e /a /v /t
incremental"

La première commande effectue une sauvegarde complète
du disque D: chaque dimanche, et la seconde réalise une
sauvegarde incrémentale chaque jour de la semaine sauf
le dimanche.



REMARQUES :
=========
- at ne démarre pas automatiquement l'interpréteur de
commandes, c'est pourquoi "cmd" doit être indiqué
au début lors de l'exécution d'autre chose qu'un fichier
exécutable.

- Si un nom d'ordinateur distant ou de système de fichiers
doit être présent à l'intérieur d'une commande at, il faut
utiliser le nom UNC (\nom_d_ordinateurnom_de_partage )
au lieu d'une lettre de disque.



--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
Dr John
Le #14484241
Jean-Claude BELLAMY a présenté l'énoncé suivant :

Impossible !

Avec la commande AT, on ne peut pas définir une date précise dans l'année
(avec le mois) !
La planification la plus "lointaine" possible est obtenue en précisant le
quantième dans le mois en cours.




Merci pour cette réponse longue et précise, mais comme tu as pu le voir
schtasks fonctionne à merveille sous xp.
Publicité
Poster une réponse
Anonyme