Quelle est la manière la plus simple / la plus rapide de chronométrer un outil en ligne de commande?
Cela n'a pas besoin d'être super précis (+/- secondes c'est bien) car je m'attends à ce que cela prenne des minutes ou même 1 heure +. Et l'écriture d'un fichier batch est très bien aussi. De plus, il n'a pas besoin de faire des calculs à temps, il suffit d'afficher l'heure de début et l'heure de fin.
windows
command-line
performance
time
slolife
la source
la source
Réponses:
J'utilise habituellement
quand je n'ai rien d'autre à portée de main. Cela provoque une sortie comme celle-ci:
Pas joli et peut être rendu plus joli en passant par findstr:
Si vous avez retardé l'expansion activée par défaut (ou démarré cmd avec
/v:on
comme argument), vous pouvez également l'utiliserecho !time!
sans avoir à recourir à des hacks laids avec redirection d'entrée.Si vous souhaitez utiliser un fichier batch, vous pouvez le faire comme ceci:
J'ai ajouté une redirection vers nul pour stdout et stderr ici, car sinon il pourrait être difficile de trouver les lignes de début et de fin. Vous pouvez supprimer cela si cela ne vous concerne pas.
Mais de nos jours, j'utilise principalement TimeThis - qui a malheureusement été supprimé.
PowerShell propose également un moyen:
mais vous devez faire attention aux choses qui dépendent du répertoire de travail ou de la redirection. Pour que ceux-ci fonctionnent correctement, vous pourriez avoir besoin d'une petite ruse:
Cela peut être exécuté de la même manière que
timethis
, assurez-vous d'échapper les guillemets doubles avec\"
s'ils sont nécessaires dans la ligne de commande (de mêmetimethis
que également). La sortie produite est similaire. Les redirections ne fonctionneront pas, cependant.la source
timethis
.Vous pouvez utiliser le planificateur système pour exécuter la commande à votre place.
Panneau de configuration -> Tâches planifiées -> créer un nouveau ....
Pointez simplement la tâche planifiée sur la commande que vous souhaitez exécuter et elle devrait faire ce que vous voulez.
Si vous souhaitez créer un fichier journal qui stocke les informations d'état temporel, vous pouvez envisager de faire quelque chose de similaire au script ci-dessus.
J'utilise un utilitaire appelé "maintenant" pour ce faire car il fera écho à la date et à l'heure. C'est très pratique pour les scripts de ligne de commande dont vous souhaitez garder la trace dans les fichiers journaux, mais qui n'ont pas l'intelligence d'inclure une date / heure en mode natif. Très pratique car il ne se soucie pas d'une réponse et disparaît lorsque vous en avez terminé.
Maintenant Utlity peut être trouvé ici
Un exemple de script serait ...
La sortie d'échantillon ressemblerait à
la source
une autre option consiste à utiliser la
time
commande/t
qui mettra l'heure actuelle à la console (ou la redirigera vers un journal) sans demander l'heure à définir. il y a une limitation en ce qu'il vous donnera les heures, les minutes, mais pas les secondes et les millisecondes.la source
Si vous avez PowerShell, vous pouvez le faire (une seule ligne, divisée pour plus de lisibilité):
Ou enregistrez-le dans un fichier pour une réutilisation plus facile.
la source
15,5 ms et 10,2 ms en utilisant Ctrl + v à partir du presse-papiers
la source
Les utilisateurs de Far Manager 1.x peuvent envisager le plugin Timer .
la source