Je veux continuer à courir pour toujours la fonction ajoutante à déposer, mais j'asiffà d'ajouter une seconde vraie tout en exécutant X trucs tous les 10, mais comment puis-je gérer cela?
J'ai essayé de faire Je m'attends à ce que mon premier moment soit vrai ajouter chaque journal au fichier pour toujours, mais je veux aussi continuer à courir tous les 10 à la seconde tandis que vrai, mais comment puis-je faire cela? P> P> ($ vrai) {alors que ($ vrai) {
Écrire-host 'faire des choses ...'
Démarrer-Sleep -Seconde 60
}} code>, mais je dindt a une chance. p>
3 Réponses :
avoir des scripts distincts pour les deux actions. Un avec infini tout en boucle un autre avec le retard et appelez-les comme des travaux d'arrière-plan.
Utilisez le Opérateur de modulus => 5/2 = 4 reposer 1 p > Utilisez % code> Il calculera le rappel après la division par un numéro: $ i ++ code> dans votre fonction pour suivre la fréquence d'exécution et utilisez si code> avec % code >
Pour l'exécuter toutes les 10 secondes (10 secondes / 0,040 secondes = 250) P> $I = 0
$I++
If (($I % 250) -eq 0) { do x }
Une autre solution possible non encore mentionnée serait de vous garder la boucle principale et d'avoir un événement de minuterie enregistré pour la "boucle" de 10 secondes. Vous pouvez également utiliser un pour répondre à "deux true de la même manière", si vous voulez utiliser 2 tandis que la boucle imbriquait comme votre exemple, vous devez ajouter un pendant la boucle code> et utiliser un objet de chronomètre pour vérifier lorsque 10 secondes sont écoulées et effectuer une autre action. p> Pause code> instruction dans la boucle interne si vous souhaitez revenir à la boucle extérieure. p>
Si vous voulez un double temps, vous devez quitter à un moment donné la boucle interne pendant laquelle il peut revenir à l'extérieur. Pour ce faire, ajoutez une déclaration de pause à la fin de votre intérieur. Lorsque vous atteignez, il dit à PowerShell de quitter cela tout en envoyant l'exécution à la boucle extérieure.
en niveau de code comment serait-il?
Pastebin.com/qqslcxbi qui étant dit, si la boucle interne prend 15 secondes pour exécuter, cela signifie que vous avez gagné ' t Accéder au code de la boucle extérieure toutes les 10 secondes.
Pourquoi permanent
$ vrai code>? Utilisez plutôt un état réel ou unpour code> -Loop. Surtout lorsque vous les concatéez, vous pouvez utiliser la variable de contrôle de l'extérieurpour code> -Loop dans la condition de l'interne.