Partage
  • Partager sur Facebook
  • Partager sur Twitter

[BATCH] Remplacer un caractère

    5 avril 2022 à 11:54:37

    Bonjour,

    Suite à un changement de machine, mes fichier bat ne fonctionnent plus correctement à cause d'un caractère.

    Le principe de mon bat est de récupérer les détails des fichiers.

    Sauf que, je ne sais pourquoi, sur ma machine virtuel, il les récupères mais remplace les virgules par un Y avec deux point au dessus.

    Comment dois-je faire pour que lors de la récupération il me mette des , à la place du Y ?

    dir "Y:\Sauvegarde VM_1" /s >.\listeInfoSauv\listepanel\listevm1.txt
     Le volume dans le lecteur Y s'appelle Sauvegardes
     Le num‚ro de s‚rie du volume est CEBF-52DA
    
     R‚pertoire de Y:\Sauvegarde VM
    
    04/04/2022  22:04    <DIR>          .
    29/03/2022  09:20    <DIR>          ..
    04/04/2022  22:04           821ÿ311 Sauvegarde VM.vbm
    06/03/2022  07:16    97ÿ297ÿ121ÿ280 Sauvegarde VMs-6D2022-03-05T220023_8756.vbk
    06/03/2022  23:06    10ÿ659ÿ061ÿ760 Sauvegarde VMs-6D2022-03-06T220014_A39B.vib
    07/03/2022  23:06     6ÿ867ÿ505ÿ152 Sauvegarde VMs-6D2022-03-07T220020_210C.vib
    08/03/2022  23:22     4ÿ341ÿ936ÿ128 Sauvegarde VMs-6D2022-03-08T220021_7EA6.vib
    09/03/2022  23:04     3ÿ423ÿ899ÿ648 Sauvegarde VMs-6D2022-03-09T220027_F7B7.vib
    10/03/2022  23:33     4ÿ052ÿ103ÿ168 Sauvegarde VMs-6D2022-03-10T220013_4548.vib
    11/03/2022  23:04     3ÿ703ÿ123ÿ968 Sauvegarde VMs-6D2022-03-11T220022_3D0E.vib
    13/03/2022  05:10    97ÿ497ÿ055ÿ232 Sauvegarde VMs-6D2022-03-12T220012_B1AB.vbk
    13/03/2022  23:03     3ÿ414ÿ740ÿ992 Sauvegarde VMs-6D2022-03-13T220018_170C.vib
    14/03/2022  23:05     6ÿ474ÿ313ÿ728 Sauvegarde VMs-6D2022-03-14T220028_C984.vib
    15/03/2022  23:22     5ÿ458ÿ710ÿ528 Sauvegarde VMs-6D2022-03-15T220010_82B3.vib
    16/03/2022  23:05     4ÿ924ÿ788ÿ736 Sauvegarde VMs-6D2022-03-16T220020_28E5.vib
    17/03/2022  23:22     4ÿ920ÿ000ÿ512 Sauvegarde VMs-6D2022-03-17T220018_B5D5.vib
    18/03/2022  23:05     6ÿ446ÿ526ÿ464 Sauvegarde VMs-6D2022-03-18T220025_FC06.vib
    20/03/2022  08:37    98ÿ752ÿ487ÿ424 Sauvegarde VMs-6D2022-03-19T220014_FE84.vbk
    20/03/2022  23:04     5ÿ086ÿ494ÿ720 Sauvegarde VMs-6D2022-03-20T220023_EB96.vib
    21/03/2022  23:04     3ÿ926ÿ642ÿ688 Sauvegarde VMs-6D2022-03-21T220019_A088.vib
    22/03/2022  23:18     4ÿ070ÿ912ÿ000 Sauvegarde VMs-6D2022-03-22T220025_BEA6.vib
    23/03/2022  23:05     5ÿ829ÿ500ÿ928 Sauvegarde VMs-6D2022-03-23T220013_6AD9.vib
    24/03/2022  23:25     5ÿ706ÿ629ÿ120 Sauvegarde VMs-6D2022-03-24T220011_06D4.vib
    25/03/2022  23:04     3ÿ896ÿ168ÿ448 Sauvegarde VMs-6D2022-03-25T220022_6EB8.vib
    27/03/2022  08:21    99ÿ488ÿ555ÿ008 Sauvegarde VMs-6D2022-03-26T220014_36F5.vbk
    27/03/2022  22:03     2ÿ935ÿ103ÿ488 Sauvegarde VMs-6D2022-03-27T220029_8FAF.vib
    28/03/2022  22:04     4ÿ905ÿ390ÿ080 Sauvegarde VMs-6D2022-03-28T220021_F96D.vib
    29/03/2022  22:26     5ÿ033ÿ361ÿ408 Sauvegarde VMs-6D2022-03-29T220015_363B.vib
    30/03/2022  22:04     4ÿ411ÿ015ÿ168 Sauvegarde VMs-6D2022-03-30T220017_851A.vib
    31/03/2022  22:23     5ÿ834ÿ256ÿ384 Sauvegarde VMs-6D2022-03-31T220015_09BB.vib
    01/04/2022  22:47     6ÿ224ÿ404ÿ480 Sauvegarde VMs-6D2022-04-01T220024_3DE4.vib
    03/04/2022  06:18    98ÿ625ÿ335ÿ296 Sauvegarde VMs-6D2022-04-02T220029_22A9.vbk
    03/04/2022  22:03     3ÿ001ÿ171ÿ968 Sauvegarde VMs-6D2022-04-03T220021_6A5D.vib
    04/04/2022  22:04     3ÿ057ÿ876ÿ992 Sauvegarde VMs-6D2022-04-04T220010_93E4.vib
                  32 fichier(s)   620ÿ267ÿ014ÿ207 octets
    
         Total des fichiers list‚sÿ:
                  32 fichier(s)   620ÿ267ÿ014ÿ207 octets
                   2 R‚p(s)  2ÿ810ÿ869ÿ690ÿ368 octets libres
    




    • Partager sur Facebook
    • Partager sur Twitter
      5 avril 2022 à 13:07:52

      Bonjour,

      C'est une histoire d'encodage..

      Regarde la différence avec ton autre machine (commande chcp, l'encodage de ton fichier batch via notepad++ par exemple).

      • Partager sur Facebook
      • Partager sur Twitter
        5 avril 2022 à 13:18:52

        en tapant chcp dans ton invite de commande, tu auras le format d'encodage utilisé (ça devrait être 850)

        avec une commande chcp 65001 avant le dir, et un chcp 850 après (pour rétablir le paramètre d'origine)

        • Partager sur Facebook
        • Partager sur Twitter
          5 avril 2022 à 14:50:39

          chcp 65001 dir "Y:\Sauvegarde VM" /s chcp 850 >.\listeInfoSauv\listepanel\listevm.txt

          J'ai du faire une erreur parce que ça ne m'affiche plus rien dans mon txt.

          Dans mon cmd, machine physique et virtuel, je suis en dhcp 850.

          • Partager sur Facebook
          • Partager sur Twitter
            5 avril 2022 à 15:19:05

            je me suis mal exprimé alors (ou mal été compris)

            chcp 65001
            dir "Y:\Sauvegarde VM" /s >.\listeInfoSauv\listepanel\listevm.txt
            chcp 850



            • Partager sur Facebook
            • Partager sur Twitter
              5 avril 2022 à 15:31:25

              umfred a écrit:

              je me suis mal exprimé alors (ou mal été compris)

              chcp 65001
              dir "Y:\Sauvegarde VM" /s >.\listeInfoSauv\listepanel\listevm.txt
              chcp 850



              C'est moi qui est mal compris, cependant cela me pose toujours problème....

              C'est à dire que ce que tu m'as donné marche niquel, mais les chiffre à la place des Y, me font des espaces, et il me faut des virgules...

              Sachant que je peux pas faire un changement de caractère dans la commande prc ce serait tout les espaces qui serait modifiés..

              • Partager sur Facebook
              • Partager sur Twitter
                5 avril 2022 à 16:23:55

                l'espace correspond au caractère séparateur des milliers au niveau windows (paramètres régionaux)

                tu peux aussi masquer le séparateur avec dir /-C (ça ne devrait pas perturber ton autre bat)

                • Partager sur Facebook
                • Partager sur Twitter
                  5 avril 2022 à 16:34:20


                  Peut-être le dir /-C va te convenir ?

                  /C          Affiche le séparateur de milliers dans les tailles de fichier. Il s'agit de la
                                valeur par défaut. Utilisez /-C pour désactiver l'affichage du séparateur.


                  ou alors essaye de remplacer ton caractère par des virgules (exemple) :

                  FOR /F "tokens=*" %%g IN ('*your command*') do (SET VAR=%%g)
                  set "newname=%VAR:ÿ=,%"


                  EDIT :

                  Comme le stipule umfred, tu peux également changer le séparateur dans les "Options régionales" (Windows 10).

                  -
                  Edité par Zaibai 5 avril 2022 à 16:44:33

                  • Partager sur Facebook
                  • Partager sur Twitter
                    5 avril 2022 à 16:56:01

                    J'ai changer le séparateur dans les options régionales du coup et ça me génère bien le même fichier qu'avant !

                    Cependant la récupération du fichier avec final avec php ne marche pas alors que j'ai EXACTEMENT le même fichier...

                    Compliqué ces changements d'une machine physique à virtuelle..

                    • Partager sur Facebook
                    • Partager sur Twitter
                      5 avril 2022 à 17:05:50

                      tu l'as passé à travers ton autre script qui formate les lignes ? celui-ci fonctionne ?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        6 avril 2022 à 8:37:51

                        Désolé pour le temp de réponse, bah c'est à dire que les deux scripts donne le même résultat, sauf que sur ma machine physique lors de la récupération en php, tout s'insert en base de données comme je le demande, sauf que sur la virtuelle, j'ai un problème avec ma ligne qui convertit la date (Call to a member fonction format[] on bool )
                        • Partager sur Facebook
                        • Partager sur Twitter

                        [BATCH] Remplacer un caractère

                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                        • Editeur
                        • Markdown