Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1635 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  ecrire sur une seule ligne un programme

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

ecrire sur une seule ligne un programme

n°1635117
darkwall_3​7
Posté le 01-11-2007 à 15:52:59  profilanswer
 

Bonjour,
 
voici mon "code"
 
@echo off
set variable=%0
:Boucle
set /a variable+=1
if /i %variable% equ 5 goto :eof
start iexplore.exe url_site1
start iexplore.exe url_site2
start iexplore.exe url_site3
start iexplore.exe url_site4
start iexplore.exe url_site5
ping -n 20 localhost  
taskkill /F /IM iexplore.exe  
goto Boucle

 
Je voudrais pouvoir écrire ma boucle sur une ligne pour remédier à un problème !
 
:Boucle
set /a variable+=1
if /i %variable% equ 5 goto :eof
start iexplore.exe url_site1
start iexplore.exe url_site2
start iexplore.exe url_site3
start iexplore.exe url_site4
start iexplore.exe url_site5
ping -n 20 localhost  
taskkill /F /IM iexplore.exe  
goto Boucle

 
En fait Je souhaites obtenir un exe pour que ce soit plus 'propre' et qu'il ne soit plus possible de l'éditer. Donc pour ça j'ai utilisé la commande system du langage C pour interpréter mes commandes dos et ça me donnait cela:
 

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5. system("path=%path%;C:\Program Files\Internet Explorer;" );
  6. system("@echo off" );
  7. system("set variable=%0" );
  8. system(":Boucle" );
  9. system("set /a variable+=1" );
  10. system("if /i %variable% equ 5 goto :eof" );
  11. system("start iexplore.exe url_site1" );
  12. system("start iexplore.exe url_site2" );
  13. system("start iexplore.exe url_site3" );
  14. system("start iexplore.exe url_site4" );
  15. system("start iexplore.exe" );
  16. system("ping -n 30 localhost" );
  17. system("taskkill /F /IM iexplore.exe" );
  18. system("goto Boucle" );
  19. }


 
Mais le problème c'est que ma boucle n'est pas interprétée correctement puisqu'elle ne s'execute qu'une seule fois, c'est pourquoi je pense qu'il faille intégrer toute la boucle dans une unique commande system mais je ne connais pas l'itération pour le faire !
Je n'ai pas non plus trouvé en cherchant sur le net. Je sais qu'il existe "|" pour par ex :
 
dir /S | tree > c:\liste.txt
 
Mais ça ne m'a rien donné à moins que je ne m'en sois mal servie !!!
 
VOila et merci d'avance, bonne journée !!!


Message édité par darkwall_37 le 01-11-2007 à 15:54:52
mood
Publicité
Posté le 01-11-2007 à 15:52:59  profilanswer
 

n°1635123
Elmoricq
Modérateur
Posté le 01-11-2007 à 16:07:55  profilanswer
 

chaque exécution de system() se fait dans un shell à part. Donc chaque system() est indépendant, tu ne peux pas simuler un script avec plusieurs system().

 

Ecris ta boucle en C.

 

Et de toute façon c'est moche ce que tu fais. Je ne comprends pas pourquoi tu ne le fais pas dans un .bat, et gérer la non-modification avec les droits windows.


Message édité par Elmoricq le 01-11-2007 à 16:08:37
n°1635128
Tamahome
⭐⭐⭐⭐⭐
Posté le 01-11-2007 à 16:29:07  profilanswer
 

utilise le kernel dez windows en mode multimédia


---------------
Hobby eien /人◕ ‿‿ ◕人\

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  ecrire sur une seule ligne un programme

 

Sujets relatifs
retour a la ligne dans une boite d'alerteCode pour afficher une seule catégorie dans une page wordpress
creer un jeu en ligne massivement multijoueur dans un navigateurDéfinir une largeur au-delà de laquelle le texte passe à la ligne suiv
[Aide] Programme VBA exercicesRecherche efface ligne
[VBS] écrire dans un fichierAide programme Jeu : Devinez le bon chiffre
requete affiche un bouton AouB dans un array qui verifi a chaque ligne[D7] Un programme s'exécutant avant Windows
Plus de sujets relatifs à : ecrire sur une seule ligne un programme


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR