CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[BATCH] Remplacement de caractère dans une variable et opérations

Informaticien74
Informaticien74
Niveau 2
05 mars 2016 à 02:00:23

Bonjour à tous. J'ai des difficultés à coder un remplacement de variable en batch. Voilà ce que je voudrais faire. J'illustrerai un exemple à la fin. Je souhaiterais entrer une variable composée d'un grand nombre de nombres, espacés les uns des autres par un espace. Il faudrait créer une boucle qui puisse appliquer des opérations sur chaque paquet de nombre (lorsqu'un espace est détecté, on coupe tous les chiffres avant l'espace que l'on stocke dans une variable où l'on applique directement une suite d'opérations et on stocke le caractère final obtenu dans une variable. Puis dans la variable de base entre temps on pense à supprimer le nombre qu'on vient de traiter ainsi que l'espace. Comme ça la boucle peut répéter la manipulation jusqu'à temps qu'il n'y a plus de caractère dans la boucle de base. Dans la variable finale, on aura une suite de caractère.

En fait si vous n'avez pas bien compris c'est pour créer un algorithme de cryptage - décryptage, j'ai encore rien commencé mais je serai capable de tout coder sauf cette partie, que je veux absolument faire en batch donc si vous ne pouvez pas me renseigner sur ce code, passez votre chemin. Un ami m'a conseillé d'utiliser la commande "index" mais j'y connais rien donc toute aide est la bienvenue. Ca serait cool que quelqu'un m'écrive un script pour deux exemples que je pourrai aisément remplacer par mes opérations et ainsi terminer mon script.

Exemple de fin :

set /p variable= 845 89658745 89465845 585484945 444

Il faudrait que la boucle détecte le premier espace et copie tout avant, donc ici le 845.

La boucle met le 845 dans une variable "variable2" par exemple et fait par exemple encore une fois 845-2 = 843.

On a notre nombre final auquel j'aurai préalablement dans mon algorithme définit un caractère. Par exemple 843 = a.

Donc on stocke a dans "variable3"

On retrouve variable= 89658745 89465845 585484945 444 (tout le reste sans le 845 et l'espace puis on recommence jusqu'à temps que la variable "variable" ne contiennent plus de caractère, ainsi on aura pour finir notre variable "variable3" contenant par exemple la suite de caractère suivante qui sera une phrase : "je suis beau.".

Voilà si quelqu'un pouvait me coder ça ou m'expliquer comment faire, ça serait cool.

Merci d'avance.

Message édité le 05 mars 2016 à 02:02:07 par Informaticien74
tsez93
tsez93
Niveau 10
05 mars 2016 à 04:31:47

Salut
tu devrais abandonner le "langage" batch pour utiliser un langage plus adapté car tu te prends la tête à cause de batch. Par exemple Python répondrait mieux à ton besoin.

FreddyCouscous
FreddyCouscous
Niveau 10
05 mars 2016 à 08:01:47

A mon avis tu devrais passer ta liste de nombres sous forme de chaine de caractère et ensuite Split la chaîne suivant le caractère espace.

Informaticien74
Informaticien74
Niveau 2
05 mars 2016 à 13:01:25

Je ne connais pas la commande, tu pourrais m'expliquer ?

FreddyCouscous
FreddyCouscous
Niveau 10
05 mars 2016 à 13:19:37

Bah par exemple regarde ça :

http://stackoverflow.com/questions/23600775/windows-batch-file-split-string-with-string-as-delimiter

Informaticien74
Informaticien74
Niveau 2
05 mars 2016 à 13:22:01

D'accord je vais regarder. Sinon comment on fait un calcul de puissance en batch ? Genre 5^4 = 625.

BabtousVsArabes
BabtousVsArabes
Niveau 5
06 mars 2016 à 21:29:35

Je ne connais pas le batch, par contre en python je te le fais en 30 minutes ton programme :ok:

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment