MS-dos : commande executée périodiquement

Fermé
tourdball Messages postés 152 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 10 mars 2009 - 19 mars 2007 à 11:24
 Bernard.Mouille - 29 mars 2007 à 12:31
Bonjour à tous,

J'ai un domaine + 10 clients, et une des options de ce domaine est de sauvegarder dans un dossier caché dans le profil tout ce qu'éliminent les utilisateurs, çà peut etre pratique... ceci étant dit ce dossier grossi tous les jours et je souhaiterai l'éliminer disons chaque mois(de toute façon, il se recréé s'il n'exsite pas à chaque connection)

la commade dos est simple "DEL c:/le_dossier" mais comment puis-je faire en sorte que mon script s'execute de manière périodique, par exemple tous les premiers jours du mois?

Merci d'avance pour votre aide ;)

13 réponses

nauno Messages postés 342 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 14 mai 2009 60
19 mars 2007 à 11:42
avec un crontab!!!
0
tourdball Messages postés 152 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 10 mars 2009 11
20 mars 2007 à 09:32
oui mais la commande doit etre executée sur le client... ou alors comment dois-je faire, car si je 1 tombe un samedi, les clients ne se connectent pas avant le lundi...
0
nauno Messages postés 342 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 14 mai 2009 60
20 mars 2007 à 10:47
les cartes réseaux de tes clients sont ils comptatibles avec PXE?
0
tourdball Messages postés 152 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 10 mars 2009 11
20 mars 2007 à 12:35
je ne sais pas... pourquoi ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nauno Messages postés 342 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 14 mai 2009 60
20 mars 2007 à 13:47
parce que si c'est le cas, tu peux utilisé le Wake On Lan, c'est à dire les allumer depuis le serveur!!!
0
tourdball Messages postés 152 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 10 mars 2009 11
26 mars 2007 à 09:55
oui, mais ce n'est pas ce que je veux faire?!?
0
nauno Messages postés 342 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 14 mai 2009 60
26 mars 2007 à 16:04
oui j'ai bien compris!!!

si tu programme un allumage des client via le wake on lan un samedi matin (genre 10h)par exemple! ensuite tu automatise un crontable juste après avoir allumer les machines(10h30) en ayant pris soin de demander l'arret des machines après exécution de la taches
0
tourdball Messages postés 152 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 10 mars 2009 11
26 mars 2007 à 16:28
l'idée est bonne mais elle me parait un peu compliquée, il doit bien y avoir moyen de faire ce que je veux faire sans faire allumer les machines le samedi matin... et puis en plus je n'ai pas wake on line :-D

Non en fait je pensais à un script qui regardrait l'horloge à chaque connection pour savoir quand s'il doit s'executer et capable de s'executer s'il comprend qu'il n'y pas eu de connection le jour ou il devait s'executer.
Mais voilà, en dos j'ai bien compris la commande que je devais faire :

RMDIR /S/Q "C:\Documents and Settings\%USERNAME%\.deleted\%USERNAME%"

Mais comment la rendre périodique, çà c'est une affaire. C'est pour çà que j'ai pensé à Visual Basic que je ne connais en fait pas du tout.... :-D
0
nauno Messages postés 342 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 14 mai 2009 60
26 mars 2007 à 17:01
tu crée un .bat (tu insère a commande dans un bloc-notes et tu ll'enregistre en .bat!!!
Après, pour moi, il te suffit d'utiliser les taches planifiés sur chaque client, et ca devrait rouler tout seul!!!
0
tourdball Messages postés 152 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 10 mars 2009 11
26 mars 2007 à 18:21
salut nauno,
c'est bien "sur chaque client" qui me fait mal, imagine que j'en ai 200 ou plus? je pense mais peut-etre que je me trompe que le script dont je parle se met du coté serveur et s'execute à chaque connection (c'est déjà le cas, j'ai un script logon.bat qui me synchronise les horloge des clients à celui du serveur et qui de plus monte quelques partage des les ressources systèmes du client... mais ces actions sont simples et s'execute tout le temps, moi ce que je cherche c'est donc script qui regarde quel jour on est et puis qui décide de continuer à s'executer le cas échéant...

Les commandes DOS me semblent limitées pour faire cela, mais encore une fois, peut-etre que je me trompe :-) d'ou mon hypothèse du visual basic
0
Bernard.Mouille
27 mars 2007 à 04:27
Bonjour,

Si ton serveur est en XP, tu devrait pouvoir utiliser la commande FOR

En CMD, tape FOR /?

Y'a pas mal de possibilités avec cette commande en jouant avec
la variable %DATE%

Bonne journée

BM
0
tourdball Messages postés 152 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 10 mars 2009 11
28 mars 2007 à 12:15
Salut à tous,
Bon je suis sur la bonne voie, au lieu du FOR, je peux aussi utiliser if...

voici ce que j'ai fait
j'ai créé un fichier script.bat dans lequel j'ai écrit :
@echo off
SET JOURDUMOIS=%DATE:~0,2%
IF %JOURDUMOIS%==1 (RMDIR /S/Q "C:\Documents and Settings\%USERNAME%\.deleted\%USERNAME%" )


voilà si on est le premier du mois, la commande s'execute

bon c'est début mais çà fonctionne... mais comment puis-je faire si par exemple le 1 tombe un dimanche, que le client ne se connecte pas? y a-t-il un moyen de faire en sorte qu'à la connection successive, le script soit executé?
0
Bernard.Mouille
28 mars 2007 à 16:19
Bonjour,

A l'époque, quand j'avais des problèmes de ton genre, j'avais un dossier dans lequel je mettais des fichiers de repères :

IF NOT EXIST DI070325.XYZ EXECUTE


A voir ....


BM
0
tourdball Messages postés 152 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 10 mars 2009 11
29 mars 2007 à 09:56
Bonjour Bernard Mouille,
J'avoue ne pas avoir saisi du tout ton dernier message :-D
0
Bernard.Mouille
29 mars 2007 à 12:31
Bonjour,

Pour explication, lorsque je lançais une routine périodique, je créais un petit fichier texte que je nommais en fonction de la date et l'heure.

Pour savoir si la commande avait été exécutée, je lançais :

par exemple

IF NOT EXIST C:\RAPPORT\20070329.TXT EXECUTE.EXE

C:\RAPPORT\20070329.TXT = Nom du fichier avec son chemin

EXECUTE.EXE = Programme à exécuter.

Bon après midi

BM
0