Se connecter avec
S'enregistrer | Connectez-vous

Script BATCH

Dernière réponse : dans Programmation

Bonjour,

J'ai sous la main un script BATCH, et je voudrais avoir si vous pouviez m'aider à le décortiquer, et me dire ce qu'il fait concrêtement sur l'ordinateur ?


Voici son contenu :


  1. set max=50000
  2. set Path=\\pc-perso\Partage
  3. set pathlog=\\pc-perso\Partage\quota.log
  4.  
  5. set p1=0
  6. echo off
  7. cls
  8.  
  9. if exist %Pathlog% GOTO FILEEXIST
  10. echo ----------LOG QUOTA-------- >> %Pathlog%
  11. echo. >> %Pathlog%
  12.  
  13. :FILEEXIST
  14. for /r %Path% %%i in (*.*) do set /a p1=!p1!+%%~zi/1048
  15.  
  16. if /i %p1% gtr %max% GOTO ERROR
  17. echo [%DATE%][%TIME%]- %USERNAME% - %p1% ko - OK >> %Pathlog%
  18. GOTO END
  19.  
  20. :ERROR
  21. echo [%DATE%][%TIME%]- %USERNAME% - %p1% ko - Dépassement du quota de %max% ko ! >> %Pathlog%
  22. @echo
  23.  
  24. :END



Merci d'avance.

Autres pages sur : script batch

Lassé par la pub ? Créez un compte

Meilleure solution

Expert Programmation

Salut,

Plutôt que de te le faire, je vais t'aider à le faire toi-même, au moins pour commencer.
Et si tu as encore des soucis, tu pourras poser des questions précises.

Utilise la commande HELP dans une session DOS sur SET et FOR :
C:\> HELP SET
C:\> HELP FOR


Sinon, %VAR% c'est le contenu de la variable d'environnement VAR.
Par exemple, on voit l'utilisation de %PATH% dans ton batch.

%%I est la notation pour les variables de boucle FOR. Elles ne sont pas des variables d'environnement et ne peuvent avoir pour nom d'une unique lettre.

>> est la commande pour ajouter à la fin d'un fichier.

OK merci.

Je me suis bien renseigner sur le script, j'arrive bien à le comprendre.

Mais il y a une petite suptilité qui m'échappe : justement le contenu de la variable Path, c'est un chemin qui contient au départ \\

A quel dossier cela renvoie ? Quelque chose sur la machine, ou sur un réseaux ?
Et en fonction de ça, le script il agit sur quoi précisement ? des utilisteurs différnts ?
Expert Programmation

Rhalala, M$ est pas fichu de respecter le moindre standard. Un double (back-)slash précède le nom d'un serveur.

Par exemple //www.presence-pc.com/forum/programmation/ est un nom de chemin valide.
//www.presence-pc.com est le nom de la machine,
/forum/programmation/ est le nom du répertoire.

Ton batch déclare que les exécutables devront être trouvés dans le répertoire /Partage/ de la machine //pc-perso.

C'est tout. Sauf qu'il faut qu'ils se distinguent chez M$. Alors, il faut remplacer les / par des \ :sarcastic: 

Pour t'en convaincre, ouvre un explorateur de Windows. Affiches-en la barre d'adresse. Puis va dans le répertoire Favoris Réseau/Tout le réseau/Réseau M$ Windows. Là, trouve ton groupe et ta machine. Puis ouvre un répertoire partagé (il faut que tu en ais un, bien sûr). Là, regarde un peu ce qui se trouve dans la barre d'adresse... TADAAAAA !

A la lumière de ces quelques informations, cela te paraît-il plus clair ?

Expert Programmation

Ben vas-y fais-le !
En fait, il ne faut pas éditer le titre, mais cliquer sur "Elire meilleure réponse" de la réponse qui te semble la plus pertinente.

Spoiler

(Oh ouiiiiii, choisis une de mes réponses, que je puisse oh ouiiii, cumuler pleins de poiiiints, que tout le monde sache que je suis un noliiiiife) :pfff: 
Expert Programmation

zeb a dit :
Ben vas-y fais-le !
En fait, il ne faut pas éditer le titre, mais cliquer sur "Elire meilleure réponse" de la réponse qui te semble la plus pertinente.

Spoiler

(Oh ouiiiiii, choisis une de mes réponses, que je puisse oh ouiiii, cumuler pleins de poiiiints, que tout le monde sache que je suis un noliiiiife) :pfff: 

Tu as déjà un badge en or, non? :D 
Lassé par la pub ? Créez un compte