How can I read a braces delimited text file in a Windows batch file?












2















I have the file txt having some lines , and here below is my txt file



rule.txt
----------------------------------------
direct
replace{100,1011}
replace{india,o891}
replace{1100,101}
-----------------------------------------


I need to capture the numbers in between open braces and closed brace using batch file.










share|improve this question




















  • 1





    (1) As a matter of names, ( and ) are called parentheses. They do look similar to braces: { and }. (2) What research have you done? What have you tried?

    – Scott
    Dec 26 '18 at 5:20











  • Starting pointers perhaps.... FOR /F "USEBACKQ DELIMS={, TOKENS=2" %F IN ("C:foldertext.txt") DO ECHO %~F and FOR /F "USEBACKQ DELIMS=}, TOKENS=2" %F IN ("C:foldertext.txt") DO ECHO %~F, and then you can use some logic to concat the two in order and perhaps replace non int with zero or whatever else you need. Your requirements are vague but I'd tackle with PowerShell myself for something like this rather than batch but those are some batch quick thought starting points with vague requirements perhaps.

    – Pimp Juice IT
    Dec 26 '18 at 7:22
















2















I have the file txt having some lines , and here below is my txt file



rule.txt
----------------------------------------
direct
replace{100,1011}
replace{india,o891}
replace{1100,101}
-----------------------------------------


I need to capture the numbers in between open braces and closed brace using batch file.










share|improve this question




















  • 1





    (1) As a matter of names, ( and ) are called parentheses. They do look similar to braces: { and }. (2) What research have you done? What have you tried?

    – Scott
    Dec 26 '18 at 5:20











  • Starting pointers perhaps.... FOR /F "USEBACKQ DELIMS={, TOKENS=2" %F IN ("C:foldertext.txt") DO ECHO %~F and FOR /F "USEBACKQ DELIMS=}, TOKENS=2" %F IN ("C:foldertext.txt") DO ECHO %~F, and then you can use some logic to concat the two in order and perhaps replace non int with zero or whatever else you need. Your requirements are vague but I'd tackle with PowerShell myself for something like this rather than batch but those are some batch quick thought starting points with vague requirements perhaps.

    – Pimp Juice IT
    Dec 26 '18 at 7:22














2












2








2








I have the file txt having some lines , and here below is my txt file



rule.txt
----------------------------------------
direct
replace{100,1011}
replace{india,o891}
replace{1100,101}
-----------------------------------------


I need to capture the numbers in between open braces and closed brace using batch file.










share|improve this question
















I have the file txt having some lines , and here below is my txt file



rule.txt
----------------------------------------
direct
replace{100,1011}
replace{india,o891}
replace{1100,101}
-----------------------------------------


I need to capture the numbers in between open braces and closed brace using batch file.







windows batch batch-file






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Dec 26 '18 at 5:47









CodeIt

1,14311124




1,14311124










asked Dec 26 '18 at 5:12









dumbuudumbuu

304




304








  • 1





    (1) As a matter of names, ( and ) are called parentheses. They do look similar to braces: { and }. (2) What research have you done? What have you tried?

    – Scott
    Dec 26 '18 at 5:20











  • Starting pointers perhaps.... FOR /F "USEBACKQ DELIMS={, TOKENS=2" %F IN ("C:foldertext.txt") DO ECHO %~F and FOR /F "USEBACKQ DELIMS=}, TOKENS=2" %F IN ("C:foldertext.txt") DO ECHO %~F, and then you can use some logic to concat the two in order and perhaps replace non int with zero or whatever else you need. Your requirements are vague but I'd tackle with PowerShell myself for something like this rather than batch but those are some batch quick thought starting points with vague requirements perhaps.

    – Pimp Juice IT
    Dec 26 '18 at 7:22














  • 1





    (1) As a matter of names, ( and ) are called parentheses. They do look similar to braces: { and }. (2) What research have you done? What have you tried?

    – Scott
    Dec 26 '18 at 5:20











  • Starting pointers perhaps.... FOR /F "USEBACKQ DELIMS={, TOKENS=2" %F IN ("C:foldertext.txt") DO ECHO %~F and FOR /F "USEBACKQ DELIMS=}, TOKENS=2" %F IN ("C:foldertext.txt") DO ECHO %~F, and then you can use some logic to concat the two in order and perhaps replace non int with zero or whatever else you need. Your requirements are vague but I'd tackle with PowerShell myself for something like this rather than batch but those are some batch quick thought starting points with vague requirements perhaps.

    – Pimp Juice IT
    Dec 26 '18 at 7:22








1




1





(1) As a matter of names, ( and ) are called parentheses. They do look similar to braces: { and }. (2) What research have you done? What have you tried?

– Scott
Dec 26 '18 at 5:20





(1) As a matter of names, ( and ) are called parentheses. They do look similar to braces: { and }. (2) What research have you done? What have you tried?

– Scott
Dec 26 '18 at 5:20













Starting pointers perhaps.... FOR /F "USEBACKQ DELIMS={, TOKENS=2" %F IN ("C:foldertext.txt") DO ECHO %~F and FOR /F "USEBACKQ DELIMS=}, TOKENS=2" %F IN ("C:foldertext.txt") DO ECHO %~F, and then you can use some logic to concat the two in order and perhaps replace non int with zero or whatever else you need. Your requirements are vague but I'd tackle with PowerShell myself for something like this rather than batch but those are some batch quick thought starting points with vague requirements perhaps.

– Pimp Juice IT
Dec 26 '18 at 7:22





Starting pointers perhaps.... FOR /F "USEBACKQ DELIMS={, TOKENS=2" %F IN ("C:foldertext.txt") DO ECHO %~F and FOR /F "USEBACKQ DELIMS=}, TOKENS=2" %F IN ("C:foldertext.txt") DO ECHO %~F, and then you can use some logic to concat the two in order and perhaps replace non int with zero or whatever else you need. Your requirements are vague but I'd tackle with PowerShell myself for something like this rather than batch but those are some batch quick thought starting points with vague requirements perhaps.

– Pimp Juice IT
Dec 26 '18 at 7:22










2 Answers
2






active

oldest

votes


















2














With a batch-file:



:: Q:Test20181226SU_1387726.cmd
@Echo off
For /F "tokens=2,3 delims={,}" %%A IN (
' findstr "{" rule.txt'
) DO ECHO:%%A =^> %%B


sample output:



> Q:Test20181226SU_1387726.cmd
100 => 1011
india => o891
1100 => 101





share|improve this answer































    1














    If you are trying to capture the data inside the curly braces then you may use the following powershell command.



    Get-ChildItem rule.txt | Select-String -Pattern '(?<={).*?(?=})' | % { $_.Matches } | % { $_.Value }


    Output



    100,1011
    india,o891
    1100,101





    share|improve this answer























      Your Answer








      StackExchange.ready(function() {
      var channelOptions = {
      tags: "".split(" "),
      id: "3"
      };
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function() {
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled) {
      StackExchange.using("snippets", function() {
      createEditor();
      });
      }
      else {
      createEditor();
      }
      });

      function createEditor() {
      StackExchange.prepareEditor({
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader: {
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      },
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      });


      }
      });














      draft saved

      draft discarded


















      StackExchange.ready(
      function () {
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1387726%2fhow-can-i-read-a-braces-delimited-text-file-in-a-windows-batch-file%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      2














      With a batch-file:



      :: Q:Test20181226SU_1387726.cmd
      @Echo off
      For /F "tokens=2,3 delims={,}" %%A IN (
      ' findstr "{" rule.txt'
      ) DO ECHO:%%A =^> %%B


      sample output:



      > Q:Test20181226SU_1387726.cmd
      100 => 1011
      india => o891
      1100 => 101





      share|improve this answer




























        2














        With a batch-file:



        :: Q:Test20181226SU_1387726.cmd
        @Echo off
        For /F "tokens=2,3 delims={,}" %%A IN (
        ' findstr "{" rule.txt'
        ) DO ECHO:%%A =^> %%B


        sample output:



        > Q:Test20181226SU_1387726.cmd
        100 => 1011
        india => o891
        1100 => 101





        share|improve this answer


























          2












          2








          2







          With a batch-file:



          :: Q:Test20181226SU_1387726.cmd
          @Echo off
          For /F "tokens=2,3 delims={,}" %%A IN (
          ' findstr "{" rule.txt'
          ) DO ECHO:%%A =^> %%B


          sample output:



          > Q:Test20181226SU_1387726.cmd
          100 => 1011
          india => o891
          1100 => 101





          share|improve this answer













          With a batch-file:



          :: Q:Test20181226SU_1387726.cmd
          @Echo off
          For /F "tokens=2,3 delims={,}" %%A IN (
          ' findstr "{" rule.txt'
          ) DO ECHO:%%A =^> %%B


          sample output:



          > Q:Test20181226SU_1387726.cmd
          100 => 1011
          india => o891
          1100 => 101






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Dec 26 '18 at 17:27









          LotPingsLotPings

          4,8011722




          4,8011722

























              1














              If you are trying to capture the data inside the curly braces then you may use the following powershell command.



              Get-ChildItem rule.txt | Select-String -Pattern '(?<={).*?(?=})' | % { $_.Matches } | % { $_.Value }


              Output



              100,1011
              india,o891
              1100,101





              share|improve this answer




























                1














                If you are trying to capture the data inside the curly braces then you may use the following powershell command.



                Get-ChildItem rule.txt | Select-String -Pattern '(?<={).*?(?=})' | % { $_.Matches } | % { $_.Value }


                Output



                100,1011
                india,o891
                1100,101





                share|improve this answer


























                  1












                  1








                  1







                  If you are trying to capture the data inside the curly braces then you may use the following powershell command.



                  Get-ChildItem rule.txt | Select-String -Pattern '(?<={).*?(?=})' | % { $_.Matches } | % { $_.Value }


                  Output



                  100,1011
                  india,o891
                  1100,101





                  share|improve this answer













                  If you are trying to capture the data inside the curly braces then you may use the following powershell command.



                  Get-ChildItem rule.txt | Select-String -Pattern '(?<={).*?(?=})' | % { $_.Matches } | % { $_.Value }


                  Output



                  100,1011
                  india,o891
                  1100,101






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Dec 26 '18 at 6:15









                  CodeItCodeIt

                  1,14311124




                  1,14311124






























                      draft saved

                      draft discarded




















































                      Thanks for contributing an answer to Super User!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1387726%2fhow-can-i-read-a-braces-delimited-text-file-in-a-windows-batch-file%23new-answer', 'question_page');
                      }
                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      Plaza Victoria

                      In PowerPoint, is there a keyboard shortcut for bulleted / numbered list?

                      How to put 3 figures in Latex with 2 figures side by side and 1 below these side by side images but in...