Partage
  • Partager sur Facebook
  • Partager sur Twitter

lancer un programme si un fichier date du jour

19 juillet 2021 à 11:05:54

Bonjour,

J'aurais besoin d'un bout de script en batch qui ferait ceci :

si le fichier toto.log existe et date d'aujourd'hui alors fait la suite du script ....

le début est simple sa sera un IF EXIST toto.log , mais je ne sais pas comment on test les dates de création/modification d'un fichier. Comment on fait ça en batch ?

  • Partager sur Facebook
  • Partager sur Twitter
19 juillet 2021 à 23:10:20

Bonjour,

Un exemple de script:

#!/bin/sh

FILE=./toto.txt
date="19-07-2021"
current_date=$(date +"%d-%m-%Y")

if [ -f "$FILE" ] && [ "$date" = "$current_date" ]; then
    echo "Je fais la suite du script."
fi

Je ne me souvenais plus de comment s'écrivait le bash mais en quelques recherches j'ai pu faire ce script.

Essayer toujours de chercher et de faire quelque chose par vous même avant de demander de l'aide sur un forum.

-
Edité par eclairia 19 juillet 2021 à 23:10:41

  • Partager sur Facebook
  • Partager sur Twitter
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" Mark Twain
20 juillet 2021 à 16:31:43

J'ai besoin de récupérer la date de création du fichier, et que se soit exploitable en programmation, pas un simple /dir comme j'ai pu le voir dans mes recherches. La il est inscrit en dur dans le script ce qui ne me conviens pas. Car le fichier n'est pas forcement créer le 19-07.

Pour avoir la date du jour, peut être qu'on peu faire quelques chose avec %date%, mais je ne connais pas la fonction pour récupérer la date de création du fichier.

  • Partager sur Facebook
  • Partager sur Twitter
20 juillet 2021 à 18:44:10

Je n'ai pas testé. C'est un peu tordu comme truc:
datemod = `ls -ld nom_du_fichier | sed -E 's/^.{nombre de cars}(.{nombre de cars})/\1/'`

  • Partager sur Facebook
  • Partager sur Twitter

Le Tout est souvent plus grand que la somme de ses parties.

20 juillet 2021 à 23:29:43

Bonjour,

Deuvool a écrit:

J'aurais besoin d'un bout de script en batch qui ferait ceci :

Je suis perdu, c'est un script batch ou Bash? Parce que les solutions proposées ne sont certainement pas du batch.



  • Partager sur Facebook
  • Partager sur Twitter
21 juillet 2021 à 14:25:51

c'est bien en batch que je recherche.

J'avais besoin d'un script similaire vu un temps, et je suis tombé sur des tutos d'un complexité incroyable pour juste les date en batch. J’espère qu'il y a une solution accessible.

  • Partager sur Facebook
  • Partager sur Twitter
21 juillet 2021 à 21:04:00

Salut,

C'est bien ce que je pensais ^^

https://github.com/npocmaka/batch.scripts/tree/master/fileUtils et plus particulièrement https://github.com/npocmaka/batch.scripts/blob/master/fileUtils/fileTimes.bat devrait t'aider à faire ce que tu veux.

L'exemple pour récupérer la date de création utilise WMIC.

Grâce à Dieu, je ne fais jamais de batch mais d'expérience avec PowerShell, tu peux trouver à peu près tout avec WMIC (faut juste trouver comment ^^),

PS: tout le github est plein de ressources pour administrer du Windows.

  • Partager sur Facebook
  • Partager sur Twitter
28 juillet 2021 à 14:07:26

comment on utilise ces scripts ? j'ai fait un bête copie coller du bat. Mais rien ne se passe, il y a une notice quelque part ?
  • Partager sur Facebook
  • Partager sur Twitter
28 juillet 2021 à 18:34:41

c'est pourtant indiquer dans le code ^^ [nomdubatch].bat [nomdufichier]
  • Partager sur Facebook
  • Partager sur Twitter
29 juillet 2021 à 1:48:14

OK tu as créé un fichier machin.bat. Mais où se trouve-t-il?
S'il n'est pas dans le dossier courant, il faut ajouter le chemin vers l'exécutable dans les chemins de la variable  path  de Windows ou celui de l'utilisateur.
Tu saurais comment faire?
Ensuite, sur Windows 10, tu n'as pas besoin de préciser le suffixe '.bat' sauf s'il y a ambiguité: machin.bat, machin.exe
  • Partager sur Facebook
  • Partager sur Twitter

Le Tout est souvent plus grand que la somme de ses parties.

29 juillet 2021 à 9:34:34

ok j'ai trouvé

j'ai tout mis dans un répertoire sous c:\test\

j'ai ouvert une invite de commande, je suis aller sur c:\test

et j'ai lancé filetimes.bat test.txt

Et j'ai bien des infos sur le fichiers. Je vais voir ce que je peux faire avec ces codes.

  • Partager sur Facebook
  • Partager sur Twitter