Question
boucle infinie
- thvp
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 7 ans 6 mois #27583
par thvp
boucle infinie a été créé par thvp
Bonjour @ tous,
je débute et dois mettre en place un traitement des commandes générées par un portail qui envoie des fichiers xml dans un répertoire sur un serveur
voici en gros ce que le traitement doit faire
do until end of live
if commandes.xml not exist
echo pas de nouvelle commande
else trt
là ou je bloque c'est la boucle jusqu'à la fin de vie
est-ce que quelqu'un peut m'éclairer ou me donner une piste
merci à tous
thvp<br><br>Message édité par: thvp, à: 20/09/18 16:04
je débute et dois mettre en place un traitement des commandes générées par un portail qui envoie des fichiers xml dans un répertoire sur un serveur
voici en gros ce que le traitement doit faire
do until end of live
if commandes.xml not exist
echo pas de nouvelle commande
else trt
là ou je bloque c'est la boucle jusqu'à la fin de vie
est-ce que quelqu'un peut m'éclairer ou me donner une piste
merci à tous
thvp<br><br>Message édité par: thvp, à: 20/09/18 16:04
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 7 ans 6 mois #27584
par Philippe
Réponse de Philippe sur le sujet Re:boucle infinie
salut thvp
pour une boucle tu peu faire ça :
[code:1]
do {
# ton traitement
}
while (1)[/code:1]
mais généralement ont fais plutot une tache planifier windows qui execute le script à intervalle régulier toutes les 30s, 10s voir moins suivant le traitement<br><br>Message édité par: 6ratgus, à: 20/09/18 16:37
pour une boucle tu peu faire ça :
[code:1]
do {
# ton traitement
}
while (1)[/code:1]
mais généralement ont fais plutot une tache planifier windows qui execute le script à intervalle régulier toutes les 30s, 10s voir moins suivant le traitement<br><br>Message édité par: 6ratgus, à: 20/09/18 16:37
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 7 ans 6 mois #27585
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:boucle infinie
Salut,
un filewatcher peut aussi convenir.
un filewatcher peut aussi convenir.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- thvp
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 7 ans 6 mois #27586
par thvp
Réponse de thvp sur le sujet Re:boucle infinie
hello tlm,
Merci pour vos réponse, j'ai choisi d'implémenter la solution
du FileSystemWatcher
[code:1]# To stop the monitoring, run the following commands:
# Unregister-Event FileDeleted
# Unregister-Event FileCreated
# Unregister-Event FileChanged
######################################################################
#
# Description : Fonction qui surveille l'arrivée des nouvelles commandes
#
#
#
######################################################################
Function Start-FileSystemWatcher {
$NewCommandfolder = 'C:\nouvelles commandes'
$Filter = '*.xml'
$InProgressCommandFolder = 'C:\commandes en cours'
$Fsw = New-Object IO.FileSystemWatcher $NewCommandfolder, $Filter -Property @{
IncludeSubdirectories = $false;
NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'
}
# déclenchement d'un évènement sur création du fichier d'une nouvelle commande
$OnCreated = Register-ObjectEvent $fsw Created -SourceIdentifier FileCreated -Action {
$Path = $Event.SourceEventArgs.FullPath
$Name = $Event.SourceEventArgs.Name
$ChangeType = $Event.SourceEventArgs.ChangeType
$TimeStamp = $Event.TimeGenerated
#Traitement principal
Main ($Path,$Name,$ChangeType,$TimeStamp)
Move-Item $Path -Destination $InProgressCommandFolder -Force -Verbose
}
}
######################################################################
#
# Description : Fonction qui assure le traitement principal
# qui reçoit en paramètres le chemin, le nom, le type de changement,
# le moment ou le fichier a été créer
#
######################################################################
Function Main ($Path,$Name,$ChangeType,$TimeStamp){
Write-Host \"The file\" $Path \"was\" $ChangeType \"at\" $TimeStamp
}
# Démarrage de la surveillance
Start-FileSystemWatcher[/code:1]<br><br>Message édité par: thvp, à: 24/09/18 07:05
Merci pour vos réponse, j'ai choisi d'implémenter la solution
du FileSystemWatcher
[code:1]# To stop the monitoring, run the following commands:
# Unregister-Event FileDeleted
# Unregister-Event FileCreated
# Unregister-Event FileChanged
######################################################################
#
# Description : Fonction qui surveille l'arrivée des nouvelles commandes
#
#
#
######################################################################
Function Start-FileSystemWatcher {
$NewCommandfolder = 'C:\nouvelles commandes'
$Filter = '*.xml'
$InProgressCommandFolder = 'C:\commandes en cours'
$Fsw = New-Object IO.FileSystemWatcher $NewCommandfolder, $Filter -Property @{
IncludeSubdirectories = $false;
NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'
}
# déclenchement d'un évènement sur création du fichier d'une nouvelle commande
$OnCreated = Register-ObjectEvent $fsw Created -SourceIdentifier FileCreated -Action {
$Path = $Event.SourceEventArgs.FullPath
$Name = $Event.SourceEventArgs.Name
$ChangeType = $Event.SourceEventArgs.ChangeType
$TimeStamp = $Event.TimeGenerated
#Traitement principal
Main ($Path,$Name,$ChangeType,$TimeStamp)
Move-Item $Path -Destination $InProgressCommandFolder -Force -Verbose
}
}
######################################################################
#
# Description : Fonction qui assure le traitement principal
# qui reçoit en paramètres le chemin, le nom, le type de changement,
# le moment ou le fichier a été créer
#
######################################################################
Function Main ($Path,$Name,$ChangeType,$TimeStamp){
Write-Host \"The file\" $Path \"was\" $ChangeType \"at\" $TimeStamp
}
# Démarrage de la surveillance
Start-FileSystemWatcher[/code:1]<br><br>Message édité par: thvp, à: 24/09/18 07:05
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.045 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- boucle infinie