Problème bizarre sur un programme en batch! help!

Problème bizarre sur un programme en batch! help! - Shell/Batch - Programmation

Marsh Posté le 19-05-2005 à 15:54:37    

Bonjour tout le monde!!! :hello:  
 
J'ai un petit problème sur un programme que j'ai fait en Batch.
 
Ce programme a pour but de prendre de manière automatique certaines informations dans un fichier .log, de les mettre dans des variables, d'envoyer ces variables sur une page PHP et d'envoyer un mail.  
 
J'ai donc réalisé ce programme,et il fonctionne parfaitement bien lorsque je le test en manuel. Par contre, lorsqu'il s'ouvre automatiquement, il ne marche plus. Il s'ouvre correctement, envoye bien le mail, mais n'ouvre pas la page PHP...
 
Si quelqu'un a une idée d'où peut venir le problème, je suis preneur!!! :??:  

Reply

Marsh Posté le 19-05-2005 à 15:54:37   

Reply

Marsh Posté le 20-05-2005 à 07:56:40    

il faut nous montrer comment tu appels ta page PHP

Reply

Marsh Posté le 23-05-2005 à 08:36:59    

Ok. donc pour appeler ma page je fais ca :  
 
start http:\\di-appl-01.toshiba-teis.com\NetworkerV2\test_insert.php?%adc_info%
 
le %adc_info% correspond aux variables que ma page reçoit.

Reply

Marsh Posté le 23-05-2005 à 21:01:07    

montre nous ce que contient adc_info  ===> forte chance que ton pb soit la

Reply

Marsh Posté le 24-05-2005 à 14:26:02    

oki je te le montre par contre comme j'utilise plusieurs fois le même type d'apelle je te mey un autre que adc_info (car il est beaucoups trop long):
 
sql_info="save_date=%save_date%&save_groupe=%save_groupe%&sql_c=%sql_c%&sql_c_unit=%sql_c_unit%&sql_c_files=%sql_c_files%&sql_d=%sql_d%&sql_d_unit=%sql_d_unit%&sql_d_files=%sql_d_files%&sql_w=%sql_w%&sql_w_unit=%sql_w_unit%&sql_w_files=%sql_w_files%"

Reply

Marsh Posté le 24-05-2005 à 14:26:42    

Avec adc_info ca aurait fais au moins 10 lignes

Reply

Marsh Posté le 24-05-2005 à 19:32:34    

l'ordre des opérations est: ?
 
a mon avis en auto le batch n'a pas le temps de traiter tes variables qu'il est deja a l'étape suivante

Reply

Marsh Posté le 25-05-2005 à 08:34:52    

ouai c'est ce que je pense mais je peut faire comment pour qu'il est le temps de traiter mon start???
 
t'entend quoi par l'ordre des opérations??

Reply

Marsh Posté le 25-05-2005 à 19:17:50    

start /wait
 
l'ordre dans lequel tu lances tes commandes

Reply

Marsh Posté le 26-05-2005 à 08:37:28    

J'ai essayé le start /wait mais sa n'a rien changer.
 
Voila un bout de mon code:

Code :
  1. rem SQL
  2. rem -----------------
  3. FOR /F "usebackq tokens=8,9,11 " %%l IN (`find "%serveur_sql%: C:\" %PATH_NTW%\applogs\tmp.log`) do (set sql_c=%%l& set sql_c_unit=%%m& set sql_c_files=%%n)
  4. FOR /F "usebackq tokens=8,9,11 " %%l IN (`find "%serveur_sql%: D:\" %PATH_NTW%\applogs\tmp.log`) do (set sql_d=%%l& set sql_d_unit=%%m& set sql_d_files=%%n)
  5. FOR /F "usebackq tokens=8,9,11 " %%l IN (`find "%serveur_sql%: W:\" %PATH_NTW%\applogs\tmp.log`) do (set sql_w=%%l& set sql_w_unit=%%m& set sql_w_files=%%n)
  6. rem envoie des variables vers la page PHP
  7. rem -------------------------------------------------
  8. set  sql_info="save_date=%save_date%&save_groupe=%save_groupe%&sql_c=%sql_c%&sql_c_unit=%sql_c_unit%&sql_c_files=%sql_c_files%&sql_d=%sql_d%&sql_d_unit=%sql_d_unit%&sql_d_files=%sql_d_files%&sql_w=%sql_w%&sql_w_unit=%sql_w_unit%&sql_w_files=%sql_w_files%"
  9. start http:\\di-appl-01.toshiba-teis.com\NetworkerV2\test_insert.php?%sql_info%
  10. goto end


 
Voilà quand je le test ca fonctionne bien mais quand il s'ouvre par le biais d'un autre programme ca fonctionne pas!

Reply

Marsh Posté le 26-05-2005 à 08:37:28   

Reply

Marsh Posté le 26-05-2005 à 12:58:27    

il faut mettre des / pas des \ il me semble
 
sauf si il s'agit d'un reseau interne  ===> pas de http: mais \\ seul
 
 
 
tu as essayer d'inserer une pause a la ligne 10?


Message édité par scuny le 26-05-2005 à 12:59:49
Reply

Marsh Posté le 26-05-2005 à 14:21:27    

oui j'ai déjà essayer de mettre une pause lorsque je l'ai tester et il fait la pause puis après, il ouvre la page http correctement.
 
Il faut mettre où des / ??

Reply

Marsh Posté le 27-05-2005 à 15:44:49    

ok donc la premiere partie de ton prog s'execute trop vite
 
essaye d'inserer ca (ne fonctionne que W2K et +)
 
rem debut de l'attente
 
set count = 1
 
:boucle
 
set /a count = count + 1
 
if %count% == 1000 goto suite
goto boucle
 
:suite
 
rem suite du code
 
A+

Reply

Marsh Posté le 27-05-2005 à 16:24:09    

oki je vais voir avec ca!!! Merci scuny c'est cool de m'aider!;)
Je dois l'incorporer avant ou après le start???

Reply

Marsh Posté le 27-05-2005 à 19:10:49    

quand tu mets une pause ca marche........m'as tu dit.
 
tu remplace pause par ce bout de code.
 
la valeur 1000 peut etre augmenter
en fait on simule la commande "wait" qui n'existe plus sous les systèmes nt.

Reply

Marsh Posté le 28-05-2005 à 10:32:12    

ouai quand je met pause sa marche.
oki je conprend pour le morceau de code!

Reply

Marsh Posté le 30-05-2005 à 17:02:54    

J'a

Reply

Marsh Posté le 30-05-2005 à 17:05:48    

Sorry je me suis planté de touche!!! :D
 
j'ai une autre question : Je voudrais faire un petit batch pour faire peur à quelqu'un et je voudrais que son PC s'éteigne tout seul quand il ouvriera le fichier .bat.
Est ce que la commande ms-dos shutdown peut fonctionner??? si oui quel pourrait être la syntax?

Reply

Marsh Posté le 30-05-2005 à 19:35:52    

tu m'as pas dit si la boucle d'attente a régler ton pb

Reply

Marsh Posté le 01-06-2005 à 08:42:14    

ba en faite j'ai pas encore eut le temps de le mettre en place... C'est un batch pour un serveur de sauvegarde et il bug un peu en ce moment.

Reply

Marsh Posté le 10-08-2005 à 16:56:17    

ça marche avec shutdown pour éteindre un pc, il suffit d'écrire shutdown mais avec deux parametre, ce qui donne:
shutdown -r(redemarre le pc) -f(force des applications a se fermet sans avertissement)
avec -t : tu definis le delai de la mise hors tension
avec -c : commentaire de la mise hors tension

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed