|
| cyclope2001 | Posté le 22/03/2004 @ 15:33 |
Petit astucien
10 Messages
| Bonjour,
je cherche a lancer plusieurs calculs a la suite.
J'utilise un logiciel qui fonctionne via les commandes MSDOS.
(J'ai windows 95 et NT).
J'aimerais creer un fichier .bat qui permet de lancer au fur et a mesure des calculs (pour qu'ils tournent la nuit..).
J'ai deja chercher, et j'ai essayer ce type de fichier :
start /m Y:\KR96\Kr9701.exe <ILS4.inp> ILS4.out
start /m Y:\KR96\Kr9701.exe <ILS5.inp> ILS5.out
start /m Y:\KR96\Kr9701.exe <ILS6.inp> ILS6.out
etc...
mais il lance tous en meme temps et c'est n'importe quoi.
peut etre mettre "execute" a la place de "start", je sais pas.
Pouvez m'aider ?
Merci
Cyclope
|
| |
| |
| Publicité |
|
|
| TroXsA | Posté le 23/03/2004 à 10:42 |
Petit astucien
225 Messages
| C'est un peut delicat ce que tu demande car il existe des commandes dans NT qui existe plus sous 95 et vis versa
sous WinDows 95 tu peux utiliser
choice /t:o,20>nul
20 represente le nombre de seconde
mais cette fonction existe plus sous les version NT
ce que je te propose est une solution de contournement
c'est d'utiliser le planificateur de tache
tu lui met une heure de debut d'execution pour lancer ton batch
exemple tu fait 5 Batch avec tes lignes qui vons lancer les calcules
avec ton planificateur de tache tu va lui dire
pour ton Bat1 execution a 23 heure
pour ton Bat2 " ---------" 1 Heure
Pour ton Bat3 "----------" 3 heure
ext ....
sinon je pourais te faire un programme en VB.net mais le probleme c'est qu'il est pas compatible avec du Win95
A bientot |
| |
|
| cyclope2001 | Posté le 23/03/2004 à 11:50 |
Petit astucien
10 Messages
| resalut,
ca, c'est une tres bonne idee !
Merci beaucoup.
Mais il existe encore un probleme :
Le logiciel que j'utilise pour mes calculs fonctionne avec la commande MSDOS (C:\windows\command.com).
Il faut donc d'abords ouvrir la commande MSDOS, puis lui dire de placer dans cette fenetre MSDOS qu'il vient d'ouvrir la commande pour lancer le calcul :
Y:\KR96\kr9701.exe <Y:\KR96\ILS.inp> Y:\KR96\ILS.out
Comment je peut faire ca dans un fichier batch qui sera execute via le planificateur de taches ?
Merci d'avance.
Cyclope
|
| |
|
| TroXsA | Posté le 23/03/2004 à 12:29 |
Petit astucien
225 Messages
| Je suis pas sur de tres bien comprendre ce que tu veut
Dans l'exemple que tu a donner tu utilise Start /M
pourquoi ne pas faire tes batch de la meme facon
Exemple :
Planificateur de taches a 22 heures
Bat1.ba
REM ------- Debut -------
@echo off
start /m Y:\KR96\Kr9701.exe <ILS6.inp> ILS6.out
Exit
REM ------- FIN --------
Planificateur de taches a 23 heures
Bat2.bat
REM ------- Debut -------
@echo off
start /m Y:\KR96\Kr9701.exe <ILS5.inp> ILS5.out
Exit
REM ------- FIN --------
Biensur si tu en a 500 a faire comme ça, c'est pas la meilleur chose a faire |
| |
|
| cyclope2001 | Posté le 23/03/2004 à 13:42 |
Petit astucien
10 Messages
| resalut,
D'abord merci de m'aider.
Quand je cree le fichier batch comme tu l'a mis en exemple :
REM ------- Debut -------
@echo off
start /m Y:\KR96\Kr9701.exe <ILS6.inp> ILS6.out
Exit
REM ------- FIN --------
il lance une fenetre MSDOS, marque une erreur et se ferme instantanement.
Or si je lance la commande MSDOS manuellement et que je lui rentre la ligne de commande :
Y:\KR96\Kr9701.exe <ILS4.inp> ILS4.out (par exemple)
Le programme calcul bien.
Peux-tu m'eclairer ?
J'utilise deux ordinateurs, l'un avec windows NT et l'autre avec windows 95 (que je prefere utiliser pour ce logiciel : tout marche bien avec)
Cyclope |
| |
|
| TroXsA | Posté le 23/03/2004 à 13:46 |
Petit astucien
225 Messages
| Ok j'ai comprit
et si tu met le symbole "
ce qui donnerais ça
start /m "Y:\KR96\Kr9701.exe" <ILS4.inp> ILS4.out
ou
start /m "Y:\KR96\Kr9701.exe <ILS4.inp> ILS4.out"
ça donne quoi ?
sinon quel est le message d'erreur
tu le fait sur les deux machine ? NT et 95 ?
Modifié par TroXsA le 23/03/2004 13:47 |
| |
|
| cyclope2001 | Posté le 23/03/2004 à 15:01 |
Petit astucien
10 Messages
| Desole pour le temps de reponse,
mais je suis a fond...
je viens d'essayer, mais ca marche toujours pas.
Je crois que dans les trois cas : avec et sans les *, c'est le meme message d'erreur.
Je crois qu'il dit "file creation error" mais je suis pas trop trop sur parce que ca va Super vite.
Je fais ca sur windows 95 parce tous les pre/postprocessing software de mon logiciel marche bien.
Merci de ton acharnement.
Cyclope |
| |
|
| TroXsA | Posté le 23/03/2004 à 15:22 |
Petit astucien
225 Messages
| C'est quand meme etonnant que ça ne fonctionne pas et que ça fonctionne en manuel
tu vas mettre le bat dans la racine de l'exe
c'est a dire
Y:\KR96\bat1.bat
Y:\KR96\Kr9701.exe
Y:\KR96\*.*
dans ton bat tu vas changer deux petite chose
REM ------- Debut -------
@echo off
Y:\KR96\Kr9701.exe <ILS6.inp> ILS6.out
Pause
exit
REM ------- FIN --------
On retire juste le start et le commutateur /M
et on ajoute une pause entre la ligne de commande et l'exit
execute le bat et vois ce que sa donne !
et donne moi le resultat ! |
| |
|
| cyclope2001 | Posté le 23/03/2004 à 16:00 |
Petit astucien
10 Messages
| T'es doue toi !
Ok, maintenant ca marche,
je met le fichier dans la meme racine et j'enleve start et \m.
Le gestionnaire des taches lance le calcul aussi.
Tout est ok.
Merci beaucoup.
J'ai encore une petite question, mais si ca te gonfle, repond pas.
Une fois le fichier .out realiser, un postprocessing software doit compresser ce fichier.
C'est un executable comme le precedent mais c'est fois, quand tu lance l'executable, une fenetre "windows" s'ouvre pour aller cherher le fichier .out.
j'ai essayer la meme manip :
REM ------- Debut -------
@echo off
Y:\mls97.old\W95\Komprash.exe <Y:\KR96\ILS3.out> Y:\KR96\ILS3.kpr
Pause
exit
REM ------- FIN --------
Le programme se lance bien, mais ouvre aussi la fenetre windows qui attend que je lui donne le chemin du fichier .out !
T'as une solution ?
Merci
Cyclope
|
| |
|
| TroXsA | Posté le 23/03/2004 à 16:33 |
Petit astucien
225 Messages
| Sache que si tu me soulais, ça ferais lontemps que j'aurais pas repondu :)
Maintenant j'aime aider d'ailleurs c'est pour ça que j'ai un site d'aide qui ce trouve dans ma signature :)
Maintenant pour resoudre ton probleme ça devrais etre possible on va etudier le probleme ensemble pour bien faire les choses
Bon maintenant tu peux enlever le PAUSE dans le fichier bat et mettre le bat ou tu le sens, il aimais pas ton start avec le commutateur /M
donc pour resumer le Bat1.bat que tu as fait
sa contenance est :
REM ------- Debut -------
@echo off
Y:\KR96\Kr9701.exe <ILS6.inp> ILS6.out
exit
REM ------- FIN --------
Tu as fait un autre bat d'apres ce que je comprend avec d'autre instruction qui est dans 1 poste plus haut qui est :
REM ------- Debut -------
@echo off
Y:\mls97.old\W95\Komprash.exe <Y:\KR96\ILS3.out> Y:\KR96\ILS3.kpr
Pause
exit
REM ------- FIN --------
Je dirais pourquoi ne pas tout mettre dans une seul fenettre
ce qui doit donner :
REM ------- Debut -------
@echo off
Y:\KR96\Kr9701.exe <ILS6.inp> ILS6.out
choice /t:o,30>nul
REM -- 30 est egale a 30 seconde -- il peut etre
REM -- modifiable sans probleme
cls
Y:\mls97.old\W95\Komprash.exe <Y:\KR96\ILS6.out> Y:\KR96\ILS3.kpr
exit
REM ------- FIN --------
Attention le choice dans une autre systeme est pas sur de fonctionner
c'est a dire dans les systemes, NT, 2000, 2002, 2003
Enfin a toi de modifier a ta sauce :)
Normalement, enfin bon, ça devrai fonctionner sauf si j'ai mal comprit
A bientot
Modifié par TroXsA le 23/03/2004 16:37 |
| |
|
| cyclope2001 | Posté le 23/03/2004 à 16:47 |
Petit astucien
10 Messages
| resalut,
J'ai pas le temps d'essayer ca parce que c'est l'heure de plier les goles.
Je vais essayer demain.
Mais je pense que tu mal compris un petit truc.
J'ai beau lui mettre le fichier .out dans la commande d'ouverture, il ouvre quand meme une fenetre "windows" pour choisir le fichier .out !
Voila,
A demain j'espere.
Cyclope |
| |
|
| TroXsA | Posté le 23/03/2004 à 16:57 |
Petit astucien
225 Messages
| OK j'ai compris enfin je crois car je connais pas le soft que tu utilise
En tout cas il est impossible en dos de donner l'eritage a une autre fenetre dos ou "com"
Exemple :
J'ai une fenetre dos qui me fait des instructions X, Y a un moment donner une autre fenetre dos s'ouvre et me demande une saisi ou une validation
La fenetre 1 ne peut pas donner d'instruction a la fenetre 2 pour faire des validation ou une saisi
il est impossible de faire ça avec du DOS tu pourais faire ça avec du VBS qui est complement compatible avec tout les systemes d'exploitation mais ça reste encore pas sur de pouvoir donner un heritage a une fenetre dos
Bonne soiré et peut etre a demain je sais pas si je serait là
je t'invite sur mon site dans le cas de besoin
++
|
| |
|
| cyclope2001 | Posté le 24/03/2004 à 08:38 |
Petit astucien
10 Messages
| resalut,
Ok je laisse tomber ca. Je vois bien que je vais passer plus de temps a chercher ou a te faire chercher la solution que de compresser mes donnees une par une.
Merci encore pour ta recherche, Et bonne fin de semaine.
A bientot.
Cyclope |
| |
|
| TroXsA | Posté le 24/03/2004 à 09:03 |
Petit astucien
225 Messages
| Ok, merci
et bonne semaine a toi aussi
a bientot peut etre :) |
| |
|
| Imola | Posté le 27/08/2004 à 23:24 |
Petit astucien
4 Messages
| bonjour,
donc si j'ai bien compris, il n'y a pas possibilité de faire une temporisation sous windows XP ? ( a part avec PAUSE bien sur)
merci |
| |
|
| Arsenic | Posté le 28/08/2004 à 07:55 |
Astucien
5977 Messages
| Juste pour remarquer qu'en dehors de la syntaxe AT propre à NT, l'exécutable CHOICE, copié collé de 98 dans la partition système fonctionnera, au moins sous 2000. |
| |
|
| Imola | Posté le 28/08/2004 à 12:39 |
Petit astucien
4 Messages
| par ce que j'ai essayé sous XP avec CHOICE mais impossible :'(
enfait ce que je veut, c'est faire un truc qui lance 10 programmes avec 1 minute d'interval ... |
| |
|
| Arsenic | Posté le 28/08/2004 à 13:52 |
Astucien
5977 Messages
| Tu n'as pas répondu à ma question.
Je viens de vérifier, sous tous mes postes Win2000, seul 1 ne comporte pas choice.com sous \system32....parce que, pour ne pas en avoir besoin, je ne l'y ai pas collé à partir d'une partitition 98.
J'ai utilisé, toujours sous Win2000, ce genre de choses pendant longtemps:
| start /m "J:\Program Files\Fichiers communs\Vision\Vservice.exe"
choice /c:. /t:.,15 /n
start "J:\Program Files\Vision\User\mirabel.ans" |
Si je ne l'utilise plus, ce n'est pas parce que ça ne marche plus,
mais simplement parce que je n'utilise plus les programmes cible.
Je continue par contre à utiliser, toujours sous Win2000, quelque chose de très similaire sur tous mes postes réseau clients, au moins une fois par jour:
| path=C:\ldp;"C:\Program Files\Internet Explorer\"
start winldp.exe
choice /c:. /t:.,15 /n
start iexplore.exe -k poste0 |
Et je ne vois pas pourquoi ça marcherait moins sous XP que sous 2000. |
| |
|
| Imola | Posté le 30/08/2004 à 16:42 |
Petit astucien
4 Messages
| meme si je met ca entre les 2 lignes, les 2 se lancent en meme temps
choice /c:. /t:.,15 /n
il faut que le .bat soit dans un Répertoire particulier ?? |
| |
|
| Imola | Posté le 30/08/2004 à 16:48 |
Petit astucien
4 Messages
| ahhh tu veut dire qu'il faut que je trouve un ficheier choice.com
que je met dans system32 ? |
| |
|
| Arsenic | Posté le 30/08/2004 à 16:51 |
Astucien
5977 Messages
| Non, mais il faut que choice.com soit sous System32.
Dans l'exemple que j'ai donné (win2000):
| path=C:\ldp;"C:\Program Files\Internet Explorer\"
start winldp.exe
choice /c:. /t:.,15 /n
start iexplore.exe -k poste0 |
le path des exécutables est spécifié, mais de toute façon, s'il y en a besoin, on s'en rend vite compte: temporisé ou pas, ça lance pas.
il est par contre patent que la temporisation marche, puisque la dernière ligne, qui connecte le serveur poste0 en mode kiosque via ie plante si les lecteurs vitale ne sont pas actifs via winldp qui les connecte au serveur à travers les ports série
quand on lance ie. |
| |
|
| Arsenic | Posté le 30/08/2004 à 16:52 |
Astucien
5977 Messages
| | ahhh tu veut dire qu'il faut que je trouve un ficheier choice.com
que je met dans system32 ?
|
oui.
Je peux te le mailer, si tu n'as pas Win98, donc cet article.
|
| |
|
|
| Haut de la page |