Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1688 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  script de verification ms_dos

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

script de verification ms_dos

n°1431368
pollenk2b
Posté le 25-08-2006 à 13:37:27  profilanswer
 

Bonjour,  
 
j'aimerai savoir comment faire pour créer un script qui peut vérifier que la date de dernière modification soit la même que la date du jour en ms dos. je ne connait pas trés bien ce language, mais après m'etre informer sur ce forum, je sais qu'il y as des commande du style:  
 
SET datetoday=%DATE: /=%  
 
if %datemodif% EQU %datetoday%  
echo verif terminée : OK!!!!!!  
 
mais je ne sait pas comment faire pour déterminer la variable datemodif, qui donnerait la date de dernière modif du fichier. la seule commande que j'ai trouver c'est :  dir/p qui permet de voir la date de la dernièer modif du fichier, mais je ne sais pas comment l'intégrer.  
 
mon début de script c'est :  
-----------------------------------------  
SET datetoday=%DATE: /=%  
(echo Verification %%A)  
(if %datemodif% EQU %datetoday%  
echo verif terminée : OK!!!!!! sur %%A  
)  
pause  
-----------------------------------------  
je ne sais pas comment faire ma variable 'datemodif' qui correspondrait a la dernière date de modif  
 
AIDEZ MOI SVP!!!! merci[spoiler]

mood
Publicité
Posté le 25-08-2006 à 13:37:27  profilanswer
 

n°1431617
wackevat
Posté le 25-08-2006 à 20:53:04  profilanswer
 

Tu dois commencer par regarder l'aide de la commande
for
(for /? donc)
pour comprendre comment parcourir une liste de fichiers.
 
Ensuite, regarde l'aide de  
dir
(dir /?)
pour l'option d'affichage de la date de modif.

n°1432336
pollenk2b
Posté le 28-08-2006 à 09:27:34  profilanswer
 

wackevat a écrit :

Tu dois commencer par regarder l'aide de la commande
for
(for /? donc)
pour comprendre comment parcourir une liste de fichiers.
 
Ensuite, regarde l'aide de  
dir
(dir /?)
pour l'option d'affichage de la date de modif.


 
 
merci de ton aide!!!
 
alors voici ce que j'ai fait maintenant:
----------------------------------------
SET datetoday=%DATE: /=%
for /R \\serveur\partage do (
(echo Verification sur serveur)
(cd serveur)
(cd rep1)
(dir /T:W)
() <--- la il faudrait que je puisse désigner mon fichier X et comparer sa date de modif à la date d'aujourdui
(echo Traitement terminé sur : serveur)
)
pause
------------------------------------------
 
mais je ne sait pas comment comprarer la date de modif de mon fichier X (qui se trouve dans le repertoire rep1) à la date d'aujourdui, as tu une idée?  
 
merci encore.. :)

n°1432758
wackevat
Posté le 28-08-2006 à 21:34:06  profilanswer
 

Pourquoi tu mets des parenthèses partout comme ça ? Ce n'est pas nécessaire.
 
Ensuite, la syntaxe de ta boucle for n'est pas correcte.
 
Pour comparer deux dates, il faut d'abord pouvoir les affecter à des variables.
 
Et pour cela, la première des choses est d'écrire ta boucle correctement.

n°1432870
pollenk2b
Posté le 29-08-2006 à 09:15:24  profilanswer
 

wackevat a écrit :

Pourquoi tu mets des parenthèses partout comme ça ? Ce n'est pas nécessaire.
 
Ensuite, la syntaxe de ta boucle for n'est pas correcte.
 
Pour comparer deux dates, il faut d'abord pouvoir les affecter à des variables.
 
Et pour cela, la première des choses est d'écrire ta boucle correctement.


 
merci, encore de rester pour m'aider.
 
alors j'ai changer mon script sa donne:
-----------------------------------------
set datemodif=
set chemin=c:\VERIF_F1
SET datetoday=%DATE:/=%
for /f %%A in (%chemin%\machines.txt) do (
echo Verification serveur sur %%A
\\serveur\sauvegardes
cd %%A
cd rep1
dir /T:W
if %datemodif% EQU %datetoday% *.dat
echo verif terminée : OK!!!!!! sur %%A
if %datemodif% NEQ %datetoday% *.dat
echo problème de sauvegarde sur %%A
)
pause
 
-----------------------------------------------
 
tu dois surment rigoler pasque je suis un peu bison en script, mais je pense que tous le monde à débuter comme ça :)
 
en gros voila ce que j'ai essayer de faire, je dit a mon script de regarder dans le fichier machines.txt, (sachant que j'ai un net use avant) donc de regarder sur ces machines, d'aller dans le repertoire en question, et de dire verif OK si la date du jour est egale a la date de modif pour tous les fichier .dat, et de dire probleme si  les dates sont différentes. mais par contre je ne sais pas comment éditer ma variable %datemodif%
peut tu m'aider ou me dire si je n'ai rien compris a ce que je fait
 
merci de ton aide

n°1432887
pollenk2b
Posté le 29-08-2006 à 09:44:16  profilanswer
 

oops, j'ai oublier le /I après le IF de if %datemodif% EQU %datetoday% ...
 
ce qui donne if /I %datemodif% EQU %datetoday%
echo...

n°1433096
wackevat
Posté le 29-08-2006 à 14:56:00  profilanswer
 

C'est mieux, mais pas encore ça ;)
 
La sortie de la commande dir se compose de plusieurs lignes, dont à partir de la x-ième, chacune suit un format fixe : date / heure / taille /nom. Les champs sont séparés par des caractères "blancs", utilisés comme des délimiteurs.
 
Tu dois donc pouvoir "parser" cette sortie ligne par ligne, et récupérer le ou les champs qui t'intéressent.
 
Pour cela, regarde toujours dans l'aide de for, pour l'histoire des tokens jetons ?) et des délimiteurs.

n°1433495
pollenk2b
Posté le 30-08-2006 à 09:01:35  profilanswer
 

[quotemsg=1433096,7,240570]C'est mieux, mais pas encore ça ;)
 
La sortie de la commande dir se compose de plusieurs lignes, dont à partir de la x-ième, chacune suit un format fixe : date / heure / taille /nom. Les champs sont séparés par des caractères "blancs", utilisés comme des délimiteurs.
 
Tu dois donc pouvoir "parser" cette sortie ligne par ligne, et récupérer le ou les champs qui t'intéressent.
 
Pour cela, regarde toujours dans l'aide de for, pour l'histoire des tokens jetons ?) et des délimiteurs.[/quote
 
salut,  
je suis désolé mais je n'ai rien compris a tous ça, je ne suis pas developpeur, c'est pour ça que j'ai autant de mal... :( apparement le delimiteur sont par défaut l'espace et la tabulation, mais je n'ai pas compris par quoi il les remplace ce paramètre (delims=xxx). et le tokens je n'y comprend rien... par contre j'ai vu un paramètre hier interessant pour moi mais je ne sais pas comment l'utiliser, enfin le type de syntaxe aproprié: %~PATH:I
 
ps: ma commande dir (dir/T:W) n'est pas bonne?
 
merci

n°1433577
pollenk2b
Posté le 30-08-2006 à 10:35:30  profilanswer
 

sinon sa serai pas mieux de faire sa? :
 
----------------------------------------------------------
set datemodif=
SET datetoday=%DATE:/=%
\\serveur\save /user:administrateur mot_de_passe /persistent:no
for /R D:\sauvegardes in (fichier.dat) do (
echo Verification save sur %%A
if /I %datemodif% EQU %datetoday%
echo verif terminée : OK!!!!!! sur %%A
if /I %datemodif% NEQ %datetoday%
echo problème de sauvegarde sur %%A
)
pause
-----------------------------------------------------------

n°1433634
supersosso
Posté le 30-08-2006 à 11:59:45  profilanswer
 

bonjour,  
 
ton sujet m'interresse, car je cherche à supprimer le fichiers non modifiée depuis plus de 8 jours dans un répertoire, autant mettre nos manip en commun.
 
Je ne comprend néanmoins pas comment tu fais entrer la valeur de la date de modif dans ta variable.
peux tu m'expliquer ?
merci

mood
Publicité
Posté le 30-08-2006 à 11:59:45  profilanswer
 

n°1433637
pollenk2b
Posté le 30-08-2006 à 12:06:48  profilanswer
 

salut, ba justement,  c'est ce que je cherche à faire, je ne sais pas comment on fait, je sais juste que pour afficher la date des dernieres modif ya la commande dir /T:W
 
j'attend la reponse du pro 'nglechau' :)
 
mais si tu as des idées ou un début de script tu peux les postes, ils sont les bienvenues :)

n°1433817
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 30-08-2006 à 17:02:17  profilanswer
 

pollen2k >> puisque tu débutes en script, ça te dirait d'oublier le très antédiluvien et très dépassé batch, et de passer à un langage plus puissant et plus contemporain ? (genre python, VB, etc...)


---------------
J'ai un string dans l'array (Paris Hilton)
n°1434082
pollenk2b
Posté le 31-08-2006 à 08:42:00  profilanswer
 

Harkonnen a écrit :

pollen2k >> puisque tu débutes en script, ça te dirait d'oublier le très antédiluvien et très dépassé batch, et de passer à un langage plus puissant et plus contemporain ? (genre python, VB, etc...)


 
 
Salut, ba biensur que ça me dirait, mais, je pensais que celui là était le plus facile, et comme c'est pas mon métier... puis c'est surtout que je comprend au moin un minimum dans ce language tandis que les autres, suis pas sur... :) mais si tu peux m'aider tu est le buien venu :)

n°1434108
_darkalt3_
Proctopathe
Posté le 31-08-2006 à 09:55:10  profilanswer
 

(+1 avec Harko : en vb.net ce serait pas plus dur, pas plus cher, et beaucoup plus documenté)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  script de verification ms_dos

 

Sujets relatifs
Script contre injection XSS ?script d'upload
Comment installer un script perl[PHP]Recherche d'un script de news
Vérification page précédenteprobleme script vbs
Problème UTF8 +scriptExécuter un script Python chez mon hébergeur...
Script de vérification de numéro de téléphone qui marche pasrecherche script de vérification de liens morts côté serveur
Plus de sujets relatifs à : script de verification ms_dos


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR