Page 1 sur 1
[Résolu] Batch : Condition IF et processus
Posté : dim. 18 déc. 2011 23:27
par Saachaa
Bonsoir,
J'vous fais l'topos. J'ai un fichier batch avec pas moi de 1000 if tel quel :
if exist "xxx" del /f /s /q "xxx"
fois 1000..
Problème à l'exécution, le programme se stop dès qu'il rencontre un fichier utilisé par un processus...
Donc je me demandais, comment je pouvais procéder, sachant que retaper mille fois "else continue" (si ça exsite en batch) est assez frustrant ^^.
Au pire j'utiliserais Sed s'il n'y a que ça...
Afin bon, j'vous d'mande vos avis
Merci et bonne soirée
Re: [Résolu] Batch : Condition IF et processus
Posté : dim. 18 déc. 2011 23:49
par 2011N2
Hello
Justement, tu n'as pas possiblité de stopper ces processus ?
Je vais voir si je trouve quelque chose
@+
Gabriel.
Re: [Résolu] Batch : Condition IF et processus
Posté : lun. 19 déc. 2011 00:01
par Saachaa
Salut,
Oui, mais dans ce cas, faudrait savoir quel processus y touche... et ça sais pas faire ^^
Merci à toi
Bonne soirée
Re: [Résolu] Batch : Condition IF et processus
Posté : lun. 19 déc. 2011 00:13
par 2011N2
Hello
Oui...
Je vais voir, je vais bien trouver quelque chose
@+
Gabriel.
Re: [Résolu] Batch : Condition IF et processus
Posté : lun. 19 déc. 2011 11:28
par Invité
Bonjour saachaa
1000 if pour if exist "xxx" del /f /s /q "xxx" ??
Pourquoi tu ne fais pas une boucle ?
Du style
for %%a in (
"%userprofile%\desktop\1.txt"
"%userprofile%\desktop\2.txt"
"%userprofile%\desktop\3.txt"
"%userprofile%\desktop\4.txt"
"%userprofile%\desktop\5.txt"
) do if exist %%~a (
del %%~a
) else (echo Probleme)
Tu dis que le programme se stoppe...
Je te conseilles d'insérer des pauses, afin de voir où se situe le problème
Ou alors tu fais plusieurs boucles
Par exemple sur 100 fichiers, tu fais 4 boucles de 25 fichiers
du style
boucle1 suivie d'une pause
boucle2 suivie d'une pause
boucle3 suivie d'une pause
boucle4
Ainsi, si après la boucle 1 est passé avec succès, c'est que le programme fonctionne
Sinon, tu sais que dans la boucle1, des fichiers sont "occupés"...
De là, il faut trouver un moyen de les "débloquer"
@+
Edit : ou alors, pour la suppression : Passes par autoit == compile le en exe et fais un call dans ton batch
surtout qu'en autoit, il existe elseif
Re: [Résolu] Batch : Condition IF et processus
Posté : lun. 19 déc. 2011 13:40
par Saachaa
Salut
Pourquoi pas fais de boucle ? Parce-que je ne sais pas les faire en batch ^^.
Sinon, j'ai appelé mon batch via l'invite de commande pour qu'il se stop en cas d'erreurs...
L'erreur vient de la suppression d'un fichier utilisé par un processus, et donc, accessoirement n'importe quel fichier...
Donc si t'as une boucle qui dit que pour chaque fichier utilisé par un processus on le "saute", enfin on continue le bazar je suis pour
Bonne idée pour l'autoit, je regarde de mon côté
En tout cas merci à toi
Re: [Résolu] Batch : Condition IF et processus
Posté : lun. 19 déc. 2011 13:43
par Invité
Re
POur l'autoit, regarde l'aide pour la commande filedelete
Il y a surement une solution pour faire une boucle avec filedelete
Je regarde ca de plus pres
++
Re: [Résolu] Batch : Condition IF et processus
Posté : lun. 19 déc. 2011 15:23
par Invité
Salut
regarde ce script
If FileExists(@UserProfileDir "\desktop\1.txt") Then
FileDelete(@UserProfileDir "\desktop\1.txt")
Else
MsgBox(0, "Erreur", "1.txt non supprimé")
EndIf
If FileExists(@UserProfileDir "\desktop\2.txt") Then
FileDelete(@UserProfileDir "\desktop\2.txt")
Else
MsgBox(0, "Erreur", "2.txt non supprimé")
EndIf
If FileExists(@UserProfileDir "\desktop\3.txt") Then
FileDelete(@UserProfileDir "\desktop\3.txt")
Else
MsgBox(0, "Erreur", "3.txt non supprimé")
EndIf
If FileExists(@UserProfileDir "\desktop\4.txt") Then
FileDelete(@UserProfileDir "\desktop\4.txt")
Else
MsgBox(0, "Erreur", "4.txt non supprimé")
EndIf
If FileExists(@UserProfileDir "\desktop\5.txt") Then
FileDelete(@UserProfileDir "\desktop\5.txt")
Else
MsgBox(0, "Erreur", "5.txt non supprimé")
EndIf
J'ai crée 5 fichiers moi meme
= ils sont supprimés
j'ai relancé le script, 5 erreurs sur chaque fichier = tu vois comme cela quels fichiers causent pb
Tu peux faire aussi un filexists
@+
Re: [Résolu] Batch : Condition IF et processus
Posté : lun. 19 déc. 2011 15:28
par Saachaa
Annnhhh, t'as pas du comprendre
L'erreur vient de la suppression d'un fichier utilisé par un processus, et donc, accessoirement n'importe quel fichier...
Exemple:
Suppression des fichiers temps d'IE, si internet explorer est ouvert, je suis fichu ^^
Tu as compris ?
Merci à toi
Re: [Résolu] Batch : Condition IF et processus
Posté : mar. 20 déc. 2011 16:14
par Saachaa
Salut,
J'ai "converti" mon batch en autoit, je me suis dis que ce serait plus sérieux
Mais j'ai besoin d'un coup de main...
%LocalAppData%
%LocalLowAppData%
%Music%
ça donne quoi en Autoit ??
Je dois passer par le chemin complet ?
Pour infos 'ça servira à d'autres' :
http://www.autoitscript.com/autoit3/docs/macros.htm
Thanks
Re: [Résolu] Batch : Condition IF et processus
Posté : mar. 20 déc. 2011 16:21
par Invité
Salut
J'espère que tu as installé le pack autoit ^^
car les variables d'environnement commence par @ en autoit
Normalement, quand tu tapes @ : tu as une liste des différents "commandes" qui commencent pas @
Dont les fameuses variables
Je serais toi, je fairais un second script qui lancerait les répertoires
du style run(@userprofiledir)
@+
Re: [Résolu] Batch : Condition IF et processus
Posté : mar. 20 déc. 2011 16:38
par Saachaa
Ahhhh, mes oui ça je sais
J'ai converti tout ça avec ça (Linux):
sed 's/\"%Documents%/\@DocumentsCommonDir \ \"/g' CC4 CC3
par exemple pour convertir la variable batch vers Autoit
Mais il me manque celles citées plus haut
Re: [Résolu] Batch : Condition IF et processus
Posté : dim. 26 févr. 2012 15:18
par micka76000
Bonjour,
Ou ce la en est depuis le temps ?
Merci ++
Re: [Résolu] Batch : Condition IF et processus
Posté : jeu. 1 mars 2012 00:41
par Saachaa
Salut Micka,
Désolé je n'avais pas vu la réponse.
Tu peux mettre en résolu, j'ai réécris mes 3000 boucles en Autoit.
Merci à vous, bonne soirée
Re: [Résolu] Batch : Condition IF et processus
Posté : jeu. 1 mars 2012 00:47
par micka76000
Salut Micka,
Désolé je n'avais pas vu la réponse.
Tu peux mettre en résolu, j'ai réécris mes 3000 boucles en Autoit.
Merci à vous, bonne soirée
Bonsoir,
Ce n'est pas grave de ne pas avoir vu la question (comme beaucoup de membre du forum) , mais tu aurai pu mettre en résolu toi même.
Bravo pour ton travail, good game.
Re: [Résolu] Batch : Condition IF et processus
Posté : jeu. 1 mars 2012 00:59
par Saachaa
Oups, Sorry pour le résolu ..j'y penserais la prochaine fois..
A bientôt