Announcement

Collapse
No announcement yet.

Alinhamento de arquivos entre duas pastas

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Alinhamento de arquivos entre duas pastas

    Olá.

    Estou tentando alinhar dois arquivos usando o "Alignment overrides":

    Atari - 2600 (20200106-075135).dat
    com esse:
    Atari - 2600 (Parent-Clone) (20200106-075135).dat

    mas não estou conseguindo. A lógica é somente ignorar o texto (Parent-Clone).

    Não entendo muito de expressão regular. Como eu faço?

    Obrigado.

  • #2
    The longer name will need to be on the Left side of the Folder Compare to use a RegEx like this:
    Code:
    (.*) \(Parent-Clone\)(.*)
    with
    Code:
    $1$2
    Or something like:
    Code:
    (.*)(\([^\s]+\))\.dat
    with
    Code:
    $1(Parent-Clone) $2.dat
    translate.google.com
    O nome mais longo precisará estar no lado esquerdo da comparação de pastas para usar um RegEx como este:
    Last edited by Aaron; 26-May-2020, 05:02 PM.
    Aaron P Scooter Software

    Comment


    • #3
      What is the explanation of each command? I like to understand and learn.

      Comment


      • #4
        Sure, the Left side is a bit easier:
        (.*) \(Parent-Clone\)(.*)
        where .* is anything
        \(Parent-Clone\) is the literal (Parent-Clone)
        and .* is anything on the other side.
        The () surrounding the two parts can be referenced in the Replace With side, in order of their use: $1,$2,$3,$4, etc for every () group.

        The later is a more complicated mask to match on the file name without Parent-Clone, and build the two groups, and then use them on the Replace With side.

        translate.google.com
        Claro, o lado esquerdo é um pouco mais fácil:
        (. *) \ (Clone do pai \) (. *)
        onde. * é qualquer coisa
        \ (Parent-Clone \) é o literal (Parent-Clone)
        e. * é qualquer coisa do outro lado.
        Os lados () ao redor das duas partes podem ser referenciados no lado Substituir por, em ordem de uso: $ 1, $ 2, $ 3, $ 4, etc. para cada grupo ().

        A posterior é uma máscara mais complicada para corresponder ao nome do arquivo sem o Parent-Clone, criar os dois grupos e usá-los no lado Substituir por.
        Aaron P Scooter Software

        Comment


        • #5
          Understand.

          The (.*) would be the wildcard * in Windows.
          The \ before ( and ) would be used for not to confuse group opening and closing, like the (.*)

          I did not understand the space between (.*) and \(Parent-Clone\)

          In \(Parent-Clone\)(.*) has no space
          Last edited by GregoryHouse; 26-May-2020, 08:05 PM.

          Comment


          • #6
            I believe Google Translate altered some of the example code, so the files I was working with were slightly different with extra spaces.
            Aaron P Scooter Software

            Comment


            • #7
              To ignore the final numbers in parentheses:

              Nintendo - Game Boy Advance (20200202-190206).dat
              and
              Nintendo - Game Boy Advance (20200202-043551).dat


              I put these expressions and did not work:

              On left:

              (.*) \(.*\)
              (.*)\(.*\)
              (.*) (\(.*\))$
              (.*) \(.*\)\.dat
              (.*) \(.*\)[.]dat
              (.*)( \(.*\).dat)$
              (.*) \(.*\)$
              (.*) \(.*\).dat
              (.*)\s\(.*\).dat
              (.*)\s\(.*\)\.dat

              Always on right: $1

              Comment


              • #8
                Ah, any change in the Right side will require explicit text. The previous example worked because the change was limited to a single side, so the new entry is explicitly included "(Parent-Clone)". If Parent-Clone were a number, it would also need to be typed out in the Right side.

                Shifting text can use a mask in the Left side, but the Right side only supports Tags ($1,$2, etc) that match above text, and any different text (the number) must be typed out.
                Aaron P Scooter Software

                Comment


                • #9
                  For example, you can use masks to match the number on the left:
                  (.*)\((\d+)-\d+\).dat
                  and the right side would be:
                  $1($2-043551).dat
                  Aaron P Scooter Software

                  Comment


                  • #10
                    So there is no way to do it in an automated way?


                    Nintendo - Game Boy Advance (20200202-190206).dat
                    and
                    Nintendo - Game Boy Advance (20200202-043551).dat

                    Nintendo - Nintendo DS (Decrypted) (20200202-172352).dat
                    and
                    Nintendo - Nintendo DS (Decrypted) (20200201-105035).dat

                    and more

                    Comment


                    • #11
                      Sorry, it isn't possible to do it in an automated way. It is on the feature request list for a future version of Beyond Compare.
                      Chris K Scooter Software

                      Comment


                      • #12
                        OK. Thank you.

                        Comment

                        Working...
                        X