Informer l'utilisateur lorsqu'un fichier spécifique est mis à jour ou modifié (RESOLU)

0

L'autre jour, j'ai essayé de créer un fichier de commandes qui indiquera à l'utilisateur le concours d'un fichier lorsqu'un fichier texte spécifique est mis à jour / modifié, voici mon code. Il ne fonctionne pas pour une raison quelconque: S

    @echo off
SetLocal EnableDelayedExpansion
:Try
ping 127.0.0.1 -n 2 -w 1000 > NUL
ping 127.0.0.1 -n %1 -w 1000 > NUL
cls
set test=
for /F "delims=" %%a in (test.txt) do set test=!test! %%a
if !test!==%VAR% ( 
goto Try
) else ( 
echo !test!
set VAR1=!test!
goto Try
)

C'est ce que j'essaie de faire ..

Attendez 2 secondes. effacer l'écran. transformer le contenu de test.txt en une variable. comparez la variable avec l'autre variable appelée% VAR%. puisqu'il n'y a pas de variable à comparer au début, il passe à une autre instruction et affichera le contenu une fois. Ensuite, le contenu actuel sera converti en une variable. Il reviendra au début et réessayera .. Si le fichier test.txt a changé, il retournera à autre chose. Si ce n'est pas le cas, il faudra essayer d'attendre que le fichier change.

S'il vous plaît aidez-moi c'est très ennuyeux.


MISE À JOUR!!!


Donc, aujourd’hui, j’étais en train de jouer avec le code et j’ai commencé à essayer d’autres méthodes parce que je doute que cette méthode fonctionne. C’est pourquoi j’ai pensé «Out Side Of The Box». Dans mon cas, j'ai un fichier batch qui modifie ce document texte appelé test.txt de temps en temps. J'ai donc changé celui-ci. C'est l'étiquette

:Start
cls
set /p inp=
echo %date% %inp% > test.txt
echo 0 >> tmp.yml"
goto Start

Et j'ai réécrit l'autre lot aussi ..

@echo off
color 04
:Try
set /p texte=< test.txt  
if exist "tmp.yml" goto Changed
goto Try
:Changed
del "tmp.yml"
echo %texte%
goto Try

J'espère que quelqu'un a trouvé cela utile: D

Linus
la source

Réponses:

0

Je suggérerais de ne pas réinventer la roue et d'utiliser une application bien définie et conçue à cet effet.

Queue pour Windows

dmcgill50
la source
C’est exactement ce que je ne veux pas, j’en ai besoin parce que mon but n’est pas d’utiliser un autre programme, j’en ai besoin pour fonctionner en batch.
Linus
Vous utilisez déjà des utilitaires. Que pensez-vous du ping?
dmcgill50