findstr.exe is not working












7















My system has findstr.exe but when I try to execute it, it gives me the following error



FINDSTR: Bad command line


Tried so many things but unable to fix.
I need to use regex in my batch script.



Any other suggestion?










share|improve this question























  • Can you show us an example of how you try to use it that causes an error?

    – wkl
    Oct 14 '10 at 13:55
















7















My system has findstr.exe but when I try to execute it, it gives me the following error



FINDSTR: Bad command line


Tried so many things but unable to fix.
I need to use regex in my batch script.



Any other suggestion?










share|improve this question























  • Can you show us an example of how you try to use it that causes an error?

    – wkl
    Oct 14 '10 at 13:55














7












7








7


1






My system has findstr.exe but when I try to execute it, it gives me the following error



FINDSTR: Bad command line


Tried so many things but unable to fix.
I need to use regex in my batch script.



Any other suggestion?










share|improve this question














My system has findstr.exe but when I try to execute it, it gives me the following error



FINDSTR: Bad command line


Tried so many things but unable to fix.
I need to use regex in my batch script.



Any other suggestion?







windows regex command-line






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Oct 14 '10 at 13:50









RitesRites

1,14041940




1,14041940













  • Can you show us an example of how you try to use it that causes an error?

    – wkl
    Oct 14 '10 at 13:55



















  • Can you show us an example of how you try to use it that causes an error?

    – wkl
    Oct 14 '10 at 13:55

















Can you show us an example of how you try to use it that causes an error?

– wkl
Oct 14 '10 at 13:55





Can you show us an example of how you try to use it that causes an error?

– wkl
Oct 14 '10 at 13:55












4 Answers
4






active

oldest

votes


















6














You need to at least give it some strings to look for. That error message is the one you get if it doesn't think you've provided a search string (everything else is optional):




C:Documents and SettingsPax> findstr /?
Searches for strings in files.

FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file]
[/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]
strings [[drive:][path]filename[ ...]]

/B Matches pattern if at the beginning of a line.
/E Matches pattern if at the end of a line.
/L Uses search strings literally.
/R Uses search strings as regular expressions.
/S Searches for matching files in the current directory and all
subdirectories.
/I Specifies that the search is not to be case-sensitive.
/X Prints lines that match exactly.
/V Prints only lines that do not contain a match.
/N Prints the line number before each line that matches.
/M Prints only the filename if a file contains a match.
/O Prints character offset before each matching line.
/P Skip files with non-printable characters.
/OFF[LINE] Do not skip files with offline attribute set.
/A:attr Specifies color attribute with two hex digits. See "color /?"
/F:file Reads file list from the specified file(/ stands for console).
/C:string Uses specified string as a literal search string.
/G:file Gets search strings from the specified file(/ stands for console).
/D:dir Search a semicolon delimited list of directories
strings Text to be searched for.
[drive:][path]filename
Specifies a file or files to search.

Use spaces to separate multiple search strings unless the argument is prefixed
with /C. For example, 'FINDSTR "hello there" x.y' searches for "hello" or
"there" in file x.y. 'FINDSTR /C:"hello there" x.y' searches for
"hello there" in file x.y.

Regular expression quick reference:
. Wildcard: any character
* Repeat: zero or more occurances of previous character or class
^ Line position: beginning of line
$ Line position: end of line
[class] Character class: any one character in set
[^class] Inverse class: any one character not in set
[x-y] Range: any characters within the specified range
x Escape: literal use of metacharacter x
Word position: end of word

For full information on FINDSTR regular expressions refer to the online Command
Reference.




For example, this shows how you can use regular expressions:




C:Documents and SettingsPax> type qq.cmd
@setlocal enableextensions enabledelayedexpansion
@echo off
set startdir=%cd%
set temp=%startdir%
set folder=
:loop
if not "x%temp:~-1%"=="x/" (
set folder=!temp:~-1!!folder!
set temp=!temp:~1,-1!
goto :loop
)
echo.startdir = %startdir%
echo.folder = %folder%
endlocal



C:Documents and SettingsPax> findstr d.r% qq.cmd
set temp=%startdir%
echo.startdir = %startdir%
echo.folder = %folder%



C:Documents and SettingsPax> findstr
FINDSTR: Bad command line





share|improve this answer

































    1














    For anyone else who is struggling with this, try this simple syntax for a start:



    findstr /s /i hello *.*


    (ignore case, search all subdirectories in current folder)






    share|improve this answer































      0














      That's what findstr says when you give it no command line arguments. Try



       findstr/?





      share|improve this answer































        0














        Of course, you didn't specify any command after FINDSTR command. Type FINDSTR /? for help.



        This an example how to use FINDSTR command:



        FINDSTR /R /C:"your_regex" filename.txt





        share|improve this answer























          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          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%2fstackoverflow.com%2fquestions%2f3933846%2ffindstr-exe-is-not-working%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          4 Answers
          4






          active

          oldest

          votes








          4 Answers
          4






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          6














          You need to at least give it some strings to look for. That error message is the one you get if it doesn't think you've provided a search string (everything else is optional):




          C:Documents and SettingsPax> findstr /?
          Searches for strings in files.

          FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file]
          [/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]
          strings [[drive:][path]filename[ ...]]

          /B Matches pattern if at the beginning of a line.
          /E Matches pattern if at the end of a line.
          /L Uses search strings literally.
          /R Uses search strings as regular expressions.
          /S Searches for matching files in the current directory and all
          subdirectories.
          /I Specifies that the search is not to be case-sensitive.
          /X Prints lines that match exactly.
          /V Prints only lines that do not contain a match.
          /N Prints the line number before each line that matches.
          /M Prints only the filename if a file contains a match.
          /O Prints character offset before each matching line.
          /P Skip files with non-printable characters.
          /OFF[LINE] Do not skip files with offline attribute set.
          /A:attr Specifies color attribute with two hex digits. See "color /?"
          /F:file Reads file list from the specified file(/ stands for console).
          /C:string Uses specified string as a literal search string.
          /G:file Gets search strings from the specified file(/ stands for console).
          /D:dir Search a semicolon delimited list of directories
          strings Text to be searched for.
          [drive:][path]filename
          Specifies a file or files to search.

          Use spaces to separate multiple search strings unless the argument is prefixed
          with /C. For example, 'FINDSTR "hello there" x.y' searches for "hello" or
          "there" in file x.y. 'FINDSTR /C:"hello there" x.y' searches for
          "hello there" in file x.y.

          Regular expression quick reference:
          . Wildcard: any character
          * Repeat: zero or more occurances of previous character or class
          ^ Line position: beginning of line
          $ Line position: end of line
          [class] Character class: any one character in set
          [^class] Inverse class: any one character not in set
          [x-y] Range: any characters within the specified range
          x Escape: literal use of metacharacter x
          Word position: end of word

          For full information on FINDSTR regular expressions refer to the online Command
          Reference.




          For example, this shows how you can use regular expressions:




          C:Documents and SettingsPax> type qq.cmd
          @setlocal enableextensions enabledelayedexpansion
          @echo off
          set startdir=%cd%
          set temp=%startdir%
          set folder=
          :loop
          if not "x%temp:~-1%"=="x/" (
          set folder=!temp:~-1!!folder!
          set temp=!temp:~1,-1!
          goto :loop
          )
          echo.startdir = %startdir%
          echo.folder = %folder%
          endlocal



          C:Documents and SettingsPax> findstr d.r% qq.cmd
          set temp=%startdir%
          echo.startdir = %startdir%
          echo.folder = %folder%



          C:Documents and SettingsPax> findstr
          FINDSTR: Bad command line





          share|improve this answer






























            6














            You need to at least give it some strings to look for. That error message is the one you get if it doesn't think you've provided a search string (everything else is optional):




            C:Documents and SettingsPax> findstr /?
            Searches for strings in files.

            FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file]
            [/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]
            strings [[drive:][path]filename[ ...]]

            /B Matches pattern if at the beginning of a line.
            /E Matches pattern if at the end of a line.
            /L Uses search strings literally.
            /R Uses search strings as regular expressions.
            /S Searches for matching files in the current directory and all
            subdirectories.
            /I Specifies that the search is not to be case-sensitive.
            /X Prints lines that match exactly.
            /V Prints only lines that do not contain a match.
            /N Prints the line number before each line that matches.
            /M Prints only the filename if a file contains a match.
            /O Prints character offset before each matching line.
            /P Skip files with non-printable characters.
            /OFF[LINE] Do not skip files with offline attribute set.
            /A:attr Specifies color attribute with two hex digits. See "color /?"
            /F:file Reads file list from the specified file(/ stands for console).
            /C:string Uses specified string as a literal search string.
            /G:file Gets search strings from the specified file(/ stands for console).
            /D:dir Search a semicolon delimited list of directories
            strings Text to be searched for.
            [drive:][path]filename
            Specifies a file or files to search.

            Use spaces to separate multiple search strings unless the argument is prefixed
            with /C. For example, 'FINDSTR "hello there" x.y' searches for "hello" or
            "there" in file x.y. 'FINDSTR /C:"hello there" x.y' searches for
            "hello there" in file x.y.

            Regular expression quick reference:
            . Wildcard: any character
            * Repeat: zero or more occurances of previous character or class
            ^ Line position: beginning of line
            $ Line position: end of line
            [class] Character class: any one character in set
            [^class] Inverse class: any one character not in set
            [x-y] Range: any characters within the specified range
            x Escape: literal use of metacharacter x
            Word position: end of word

            For full information on FINDSTR regular expressions refer to the online Command
            Reference.




            For example, this shows how you can use regular expressions:




            C:Documents and SettingsPax> type qq.cmd
            @setlocal enableextensions enabledelayedexpansion
            @echo off
            set startdir=%cd%
            set temp=%startdir%
            set folder=
            :loop
            if not "x%temp:~-1%"=="x/" (
            set folder=!temp:~-1!!folder!
            set temp=!temp:~1,-1!
            goto :loop
            )
            echo.startdir = %startdir%
            echo.folder = %folder%
            endlocal



            C:Documents and SettingsPax> findstr d.r% qq.cmd
            set temp=%startdir%
            echo.startdir = %startdir%
            echo.folder = %folder%



            C:Documents and SettingsPax> findstr
            FINDSTR: Bad command line





            share|improve this answer




























              6












              6








              6







              You need to at least give it some strings to look for. That error message is the one you get if it doesn't think you've provided a search string (everything else is optional):




              C:Documents and SettingsPax> findstr /?
              Searches for strings in files.

              FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file]
              [/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]
              strings [[drive:][path]filename[ ...]]

              /B Matches pattern if at the beginning of a line.
              /E Matches pattern if at the end of a line.
              /L Uses search strings literally.
              /R Uses search strings as regular expressions.
              /S Searches for matching files in the current directory and all
              subdirectories.
              /I Specifies that the search is not to be case-sensitive.
              /X Prints lines that match exactly.
              /V Prints only lines that do not contain a match.
              /N Prints the line number before each line that matches.
              /M Prints only the filename if a file contains a match.
              /O Prints character offset before each matching line.
              /P Skip files with non-printable characters.
              /OFF[LINE] Do not skip files with offline attribute set.
              /A:attr Specifies color attribute with two hex digits. See "color /?"
              /F:file Reads file list from the specified file(/ stands for console).
              /C:string Uses specified string as a literal search string.
              /G:file Gets search strings from the specified file(/ stands for console).
              /D:dir Search a semicolon delimited list of directories
              strings Text to be searched for.
              [drive:][path]filename
              Specifies a file or files to search.

              Use spaces to separate multiple search strings unless the argument is prefixed
              with /C. For example, 'FINDSTR "hello there" x.y' searches for "hello" or
              "there" in file x.y. 'FINDSTR /C:"hello there" x.y' searches for
              "hello there" in file x.y.

              Regular expression quick reference:
              . Wildcard: any character
              * Repeat: zero or more occurances of previous character or class
              ^ Line position: beginning of line
              $ Line position: end of line
              [class] Character class: any one character in set
              [^class] Inverse class: any one character not in set
              [x-y] Range: any characters within the specified range
              x Escape: literal use of metacharacter x
              Word position: end of word

              For full information on FINDSTR regular expressions refer to the online Command
              Reference.




              For example, this shows how you can use regular expressions:




              C:Documents and SettingsPax> type qq.cmd
              @setlocal enableextensions enabledelayedexpansion
              @echo off
              set startdir=%cd%
              set temp=%startdir%
              set folder=
              :loop
              if not "x%temp:~-1%"=="x/" (
              set folder=!temp:~-1!!folder!
              set temp=!temp:~1,-1!
              goto :loop
              )
              echo.startdir = %startdir%
              echo.folder = %folder%
              endlocal



              C:Documents and SettingsPax> findstr d.r% qq.cmd
              set temp=%startdir%
              echo.startdir = %startdir%
              echo.folder = %folder%



              C:Documents and SettingsPax> findstr
              FINDSTR: Bad command line





              share|improve this answer















              You need to at least give it some strings to look for. That error message is the one you get if it doesn't think you've provided a search string (everything else is optional):




              C:Documents and SettingsPax> findstr /?
              Searches for strings in files.

              FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file]
              [/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]
              strings [[drive:][path]filename[ ...]]

              /B Matches pattern if at the beginning of a line.
              /E Matches pattern if at the end of a line.
              /L Uses search strings literally.
              /R Uses search strings as regular expressions.
              /S Searches for matching files in the current directory and all
              subdirectories.
              /I Specifies that the search is not to be case-sensitive.
              /X Prints lines that match exactly.
              /V Prints only lines that do not contain a match.
              /N Prints the line number before each line that matches.
              /M Prints only the filename if a file contains a match.
              /O Prints character offset before each matching line.
              /P Skip files with non-printable characters.
              /OFF[LINE] Do not skip files with offline attribute set.
              /A:attr Specifies color attribute with two hex digits. See "color /?"
              /F:file Reads file list from the specified file(/ stands for console).
              /C:string Uses specified string as a literal search string.
              /G:file Gets search strings from the specified file(/ stands for console).
              /D:dir Search a semicolon delimited list of directories
              strings Text to be searched for.
              [drive:][path]filename
              Specifies a file or files to search.

              Use spaces to separate multiple search strings unless the argument is prefixed
              with /C. For example, 'FINDSTR "hello there" x.y' searches for "hello" or
              "there" in file x.y. 'FINDSTR /C:"hello there" x.y' searches for
              "hello there" in file x.y.

              Regular expression quick reference:
              . Wildcard: any character
              * Repeat: zero or more occurances of previous character or class
              ^ Line position: beginning of line
              $ Line position: end of line
              [class] Character class: any one character in set
              [^class] Inverse class: any one character not in set
              [x-y] Range: any characters within the specified range
              x Escape: literal use of metacharacter x
              Word position: end of word

              For full information on FINDSTR regular expressions refer to the online Command
              Reference.




              For example, this shows how you can use regular expressions:




              C:Documents and SettingsPax> type qq.cmd
              @setlocal enableextensions enabledelayedexpansion
              @echo off
              set startdir=%cd%
              set temp=%startdir%
              set folder=
              :loop
              if not "x%temp:~-1%"=="x/" (
              set folder=!temp:~-1!!folder!
              set temp=!temp:~1,-1!
              goto :loop
              )
              echo.startdir = %startdir%
              echo.folder = %folder%
              endlocal



              C:Documents and SettingsPax> findstr d.r% qq.cmd
              set temp=%startdir%
              echo.startdir = %startdir%
              echo.folder = %folder%



              C:Documents and SettingsPax> findstr
              FINDSTR: Bad command line






              share|improve this answer














              share|improve this answer



              share|improve this answer








              edited Oct 14 '10 at 14:15

























              answered Oct 14 '10 at 13:56









              paxdiablopaxdiablo

              635k17012511674




              635k17012511674

























                  1














                  For anyone else who is struggling with this, try this simple syntax for a start:



                  findstr /s /i hello *.*


                  (ignore case, search all subdirectories in current folder)






                  share|improve this answer




























                    1














                    For anyone else who is struggling with this, try this simple syntax for a start:



                    findstr /s /i hello *.*


                    (ignore case, search all subdirectories in current folder)






                    share|improve this answer


























                      1












                      1








                      1







                      For anyone else who is struggling with this, try this simple syntax for a start:



                      findstr /s /i hello *.*


                      (ignore case, search all subdirectories in current folder)






                      share|improve this answer













                      For anyone else who is struggling with this, try this simple syntax for a start:



                      findstr /s /i hello *.*


                      (ignore case, search all subdirectories in current folder)







                      share|improve this answer












                      share|improve this answer



                      share|improve this answer










                      answered Aug 1 '13 at 17:40









                      live-lovelive-love

                      17k108576




                      17k108576























                          0














                          That's what findstr says when you give it no command line arguments. Try



                           findstr/?





                          share|improve this answer




























                            0














                            That's what findstr says when you give it no command line arguments. Try



                             findstr/?





                            share|improve this answer


























                              0












                              0








                              0







                              That's what findstr says when you give it no command line arguments. Try



                               findstr/?





                              share|improve this answer













                              That's what findstr says when you give it no command line arguments. Try



                               findstr/?






                              share|improve this answer












                              share|improve this answer



                              share|improve this answer










                              answered Oct 14 '10 at 13:57









                              The Archetypal PaulThe Archetypal Paul

                              34.5k1889125




                              34.5k1889125























                                  0














                                  Of course, you didn't specify any command after FINDSTR command. Type FINDSTR /? for help.



                                  This an example how to use FINDSTR command:



                                  FINDSTR /R /C:"your_regex" filename.txt





                                  share|improve this answer




























                                    0














                                    Of course, you didn't specify any command after FINDSTR command. Type FINDSTR /? for help.



                                    This an example how to use FINDSTR command:



                                    FINDSTR /R /C:"your_regex" filename.txt





                                    share|improve this answer


























                                      0












                                      0








                                      0







                                      Of course, you didn't specify any command after FINDSTR command. Type FINDSTR /? for help.



                                      This an example how to use FINDSTR command:



                                      FINDSTR /R /C:"your_regex" filename.txt





                                      share|improve this answer













                                      Of course, you didn't specify any command after FINDSTR command. Type FINDSTR /? for help.



                                      This an example how to use FINDSTR command:



                                      FINDSTR /R /C:"your_regex" filename.txt






                                      share|improve this answer












                                      share|improve this answer



                                      share|improve this answer










                                      answered Oct 14 '10 at 14:02









                                      VantomexVantomex

                                      1,73731620




                                      1,73731620






























                                          draft saved

                                          draft discarded




















































                                          Thanks for contributing an answer to Stack Overflow!


                                          • 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%2fstackoverflow.com%2fquestions%2f3933846%2ffindstr-exe-is-not-working%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

                                          Can a sorcerer learn a 5th-level spell early by creating spell slots using the Font of Magic feature?

                                          Does disintegrating a polymorphed enemy still kill it after the 2018 errata?

                                          A Topological Invariant for $pi_3(U(n))$