Soustraction de nombres dans un fichier txt (batch)

Résolu
NkRedoxx Messages postés 75 Statut Membre -  
NkRedoxx Messages postés 75 Statut Membre -
Bonjour, j'ai un fichier .txt qui reçoit des valeurs par rapport à un script à la suite j'aimerais savoir si c'est possible de créer un autre script capable de soustraire la première valeur avec la deuxième, la troisieme avec la quatrieme , la 5eme par la 6ème et ainsi de suite et renvoie a chaque fois le résultat dans un fichier excel avec la date et l'heure sachant qu'il ne faut pas à chaque fois supprimer les valeurs il faut les garder

voici un exemple de mon fichier txt :
4 982 701 020"
4 884 062 208"
4 982 701 052"
4 884 062 208"
4 982 701 084"
4 884 062 208"

voici ce que j'aimerais que cela rende c'est un exemple:

Le 14/06/2016 à 16h50 :

98638812

Le 15/06/2016 à 15h30 :
98638844 ........etc

Merci à vous,

1 réponse

Résumé de la discussion

Le problème central est de concevoir un script capable de soustraire les valeurs par paires dans un fichier texte et d’enregistrer les résultats dans un fichier Excel avec date et heure. Des échanges évoquent l’utilisation d’AWK ou de commandes DOS, les limites liées aux grands nombres et à la précision 32 bits, et la possibilité d’employer une macro Excel ou un autre outil. Plusieurs solutions visent à nettoyer les valeurs en retirant espaces et guillemets et à effectuer les soustractions, mais des difficultés persistent comme l’emplacement des fichiers. En cas d’échec avec DOS/AWK, l’emploi d’un outil dédié, comme une macro Excel ou un script Python, peut simplifier la gestion des dates et de l’écriture dans Excel.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    hello
    DOS ne peut pas traiter des grands nombres, il faut envisager un autre outil
    C:> set /a x=4982701020-4884062208
    Nombre non valide. Les nombres sont limités à une précision de 32 bits
    0
    1. NkRedoxx Messages postés 75 Statut Membre
       
      okay d'accord je pourrais utilisé quel type d'outil ? une macro dans un fichier excel ?
      Merci
      0
    2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
       
      powershell, vbs que je ne connais pas
      sinon awk, commande Unix, pour DOS
      C:> awk "BEGIN {print 4982701020-4884062208}"
      98638812

      http://gnuwin32.sourceforge.net/packages/gawk.htm
      0
    3. NkRedoxx Messages postés 75 Statut Membre
       
      j'ai crée un troisième script dans lequel j'ai inscris tout ça et installer gawk :

      @echo off
      echo.
      echo.
      echo.>d:\script\awk.exe
      awk "BEGIN {print 4982701020-4884062208}"


      Mais awk n'est pas reconnu en tant que commande interne pourtant je viens de rajouter le chemin PATH !

      Le deuxième problème étant que les chiffres présent dans le fichier txt ne seront a chaque fois pas les mêmes en fait ce ne sera pas à chaque fois 4982701020-4884062208 qu'il faudra effectué
      0
    4. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
       
      mettre le chemin devant : \chemin\awk ...
      il faut du code awk pour faire ce qu'on veut
      C:> awk -f code.awk  fichier.txt
      98638812
      98638844
      98638876
      C:> type code.awk
      {gsub("[ \"]", "")} ## on supprime espaces et "
      NR%2 {a=$0; next} ## on stocke les lignes impaires dans la variable a
      {print a-$0} ## on soustrait la ligne courante avec la ligne précédente
      0
    5. NkRedoxx Messages postés 75 Statut Membre
       
      J'ai toujours le même problème voici ce que j'ai ecris -->


      awk -f c:\Program Files\GnuWin32\bin\awk.exe FINAL.txt

      Mais rien à faire, awk n'est pas reconnu
      0