Je cherche un programme / script / fonction de ligne de commande Windows qui fonctionne comme le watch
programme de Linux .
watch
appelle périodiquement un autre programme / quel que soit et affiche le résultat, ce qui est excellent pour actualiser un fichier de sortie ou similaire toutes les secondes:
watch cat my-output.txt
ou, plus puissamment:
watch grep "fail" my-output.txt
Je l'ai cherché dans la bibliothèque de cygwin, mais cela ne semble pas être présent.
la source
Powershell a la commande "while". Vous pouvez l'utiliser comme dans Linux:
Version Linux:
Autres:
la source
while (1)
, parce que1
c'est la vérité.Une commande Windows générique oneliner pour accomplir ceci:
Remplacez "echo test" par la commande que vous souhaitez exécuter à plusieurs reprises.
la source
J'ai écrit ce petit module PowerShell pour faire ce que vous cherchiez. Il suffit de le mettre dans
et courir
import-module watch
dans PowerShell.la source
Watch-Command
) avec un alias deWatch
(Set-Alias -Name Watch -item Watch-Command
).Voici comment je le ferais dans PowerShell:
La condition
while(1)
est équivalente àwhile true
, boucler indéfiniment.la source
C'est une doublure PowerShell:
la source
Clear
abord.Vous pouvez également rattraper un retard en utilisant la commande PING, par exemple:
la source
J'ai eu le même problème lorsque j'ai eu besoin de vérifier la taille d'un fichier en cours de traitement par un autre processus. J'ai fini par cloner la fonctionnalité de watch sur Windows. Le fichier compilé ainsi que la source sont disponibles sur le site.
surveillez Windows
la source
J'ai créé une commande de surveillance pour Windows appelée llwatch.
Le code est à la fois sur mon site web landenlabs.com
et aussi sur GitHub
Vous devrez peut-être utiliser x64 pour regarder des programmes x64 et x32 pour les autres. Je ne sais pas à quel point les fenêtres sont difficiles.
la source
ce que @harrymc a dit sauf avec sleep watch.bat
./watch.bat npm lancer le test
npm run test
toutes les 5 secondesla source
Montre PowerShell
Dépôt de code
la source
J'étais pressé ... J'ai utilisé une suggestion et l'ai modifiée un peu pour fonctionner pour moi:
pour / l% g in () do @ (echo test & timeout / t 2)
Je l'ai changé pour:
pour / l% g in () do @ (test.bat & timeout / t 2)
Et j'ai créé le fichier test.bat avec la ligne de commande. Dans mon cas, c'était:
groupe net / domaine
J'ai trouvé que la commande echo venait juste d'être imprimée à l'écran mais n'exécutait pas la commande
la source