Loading ...
Sorry, an error occurred while loading the content.

delete files containing a search term

Expand Messages
  • dpasseng
    So I look for all files that contain the word rumplestiltskin, I use copytext to get a list of those files per our prior thread a few weeks ago (whew forgot
    Message 1 of 8 , Jan 16, 2009
    • 0 Attachment
      So I look for all files that contain the word rumplestiltskin, I use
      copytext to get a list of those files per our prior thread a few weeks
      ago (whew forgot how but got it eventually ... that thing isn't
      totally intuitive). Now I want to delete each and every one of these
      files ... how ... a clip I presume ...
    • Sheri
      ... If it were me, I think I would load up the captured list as a document, do a regex replacement so that the file name on each line is surrounded by double
      Message 2 of 8 , Jan 17, 2009
      • 0 Attachment
        --- In ntb-clips@yahoogroups.com, "dpasseng" <don@...> wrote:
        >
        > So I look for all files that contain the word rumplestiltskin, I
        > use copytext to get a list of those files per our prior thread a
        > few weeks ago (whew forgot how but got it eventually ... that
        > thing isn't totally intuitive). Now I want to delete each and
        > every one of these files ... how ... a clip I presume ...

        If it were me, I think I would load up the captured list as a
        document, do a regex replacement so that the file name on each line is
        surrounded by double quotes and prefaced with del space. Then I would
        save it as a bat file and run it with a script such as:

        ^!Toolbar New Document
        ^!InsertText ^$GetDOSOutput("^$GetDataPath$DelMyFile.bat" 2>&1)$

        The 2>&1 part makes not only the standard output, but also standard
        error stream make it into the inserted text.

        Regards,
        Sheri
      • Don - HtmlFixIt.com
        ... Absolutely fascinating suggestion. So the delete space file name when run as a bat would delete each file. When you say del you mean that literally
        Message 3 of 8 , Jan 17, 2009
        • 0 Attachment
          Sheri wrote:
          > --- In ntb-clips@yahoogroups.com, "dpasseng" <don@...> wrote:
          >> So I look for all files that contain the word rumplestiltskin, I
          >> use copytext to get a list of those files per our prior thread a
          >> few weeks ago (whew forgot how but got it eventually ... that
          >> thing isn't totally intuitive). Now I want to delete each and
          >> every one of these files ... how ... a clip I presume ...
          >
          > If it were me, I think I would load up the captured list as a
          > document, do a regex replacement so that the file name on each line is
          > surrounded by double quotes and prefaced with del space. Then I would
          > save it as a bat file and run it with a script such as:
          >
          > ^!Toolbar New Document
          > ^!InsertText ^$GetDOSOutput("^$GetDataPath$DelMyFile.bat" 2>&1)$
          >
          > The 2>&1 part makes not only the standard output, but also standard
          > error stream make it into the inserted text.
          >
          > Regards,
          > Sheri
          >
          Absolutely fascinating suggestion. So the "delete" space "file name"
          when run as a bat would delete each file. When you say "del" you mean
          that literally as del is a dos command then I presume. I skipped the
          dos years I think as I was probably on an osbourne during those years
          running CP/M instead.

          Here is what I did so far:
          :Loop
          ^!Select Eol
          ^!Set %file%="^$GetSelection$"
          ^!If "^%file%" = "" END
          ^!Keyboard BACKSPACE DELETE
          ^!KeyboardDelay 10
          ^!DestroyDoc ^%file%
          ^!Goto Loop

          Did about 1000 out of 2000 files in about two or three minutes tops I'd
          estimate.
        • Sheri
          ... Why did you put the ^!Keyboard stuff in there? If I had to use a pure clip, assuming ^!DestroyDoc doesn t require the file to be loaded, I d do the same
          Message 4 of 8 , Jan 17, 2009
          • 0 Attachment
            --- In ntb-clips@yahoogroups.com, "Don - HtmlFixIt.com" <don@...> wrote:
            >
            > Sheri wrote:
            > > --- In ntb-clips@yahoogroups.com, "dpasseng" <don@> wrote:
            > >> So I look for all files that contain the word rumplestiltskin, I
            > >> use copytext to get a list of those files per our prior thread a
            > >> few weeks ago (whew forgot how but got it eventually ... that
            > >> thing isn't totally intuitive). Now I want to delete each and
            > >> every one of these files ... how ... a clip I presume ...
            > >
            > > If it were me, I think I would load up the captured list as a
            > > document, do a regex replacement so that the file name on each line is
            > > surrounded by double quotes and prefaced with del space. Then I would
            > > save it as a bat file and run it with a script such as:
            > >
            > > ^!Toolbar New Document
            > > ^!InsertText ^$GetDOSOutput("^$GetDataPath$DelMyFile.bat" 2>&1)$
            > >
            > > The 2>&1 part makes not only the standard output, but also standard
            > > error stream make it into the inserted text.
            > >
            > > Regards,
            > > Sheri
            > >
            > Absolutely fascinating suggestion. So the "delete" space "file
            > name" when run as a bat would delete each file. When you say
            > "del" you mean that literally as del is a dos command then I
            > presume. I skipped the dos years I think as I was probably on an
            > osbourne during those years running CP/M instead.
            >
            > Here is what I did so far:
            > :Loop
            > ^!Select Eol
            > ^!Set %file%="^$GetSelection$"
            > ^!If "^%file%" = "" END
            > ^!Keyboard BACKSPACE DELETE
            > ^!KeyboardDelay 10
            > ^!DestroyDoc ^%file%
            > ^!Goto Loop
            >
            > Did about 1000 out of 2000 files in about two or three minutes
            > tops I'd estimate.
            >

            Why did you put the ^!Keyboard stuff in there?

            If I had to use a pure clip, assuming ^!DestroyDoc doesn't require the
            file to be loaded, I'd do the same thing as before but instead of del
            space, I'd put ^!DestroyDoc in front of each quoted file name. Then
            I'd paste the whole thing into a clip and run it.

            I'd expect the bat file to be the faster though.

            Regards,
            Sheri
          • Don - HtmlFixIt.com
            ... Also fascinating! So just make my file into a clip, would be easy peasy. I did it to process one file at a time. And since this is not a repetitive
            Message 5 of 8 , Jan 17, 2009
            • 0 Attachment
              >> Here is what I did so far:
              >> :Loop
              >> ^!Select Eol
              >> ^!Set %file%="^$GetSelection$"
              >> ^!If "^%file%" = "" END
              >> ^!Keyboard BACKSPACE DELETE
              >> ^!KeyboardDelay 10
              >> ^!DestroyDoc ^%file%
              >> ^!Goto Loop
              >>
              >> Did about 1000 out of 2000 files in about two or three minutes
              >> tops I'd estimate.
              >>
              >
              > Why did you put the ^!Keyboard stuff in there?
              >
              > If I had to use a pure clip, assuming ^!DestroyDoc doesn't require the
              > file to be loaded, I'd do the same thing as before but instead of del
              > space, I'd put ^!DestroyDoc in front of each quoted file name. Then
              > I'd paste the whole thing into a clip and run it.
              >
              > I'd expect the bat file to be the faster though.

              Also fascinating! So just make my file into a clip, would be easy
              peasy. I did it to process one file at a time. And since this is not a
              repetitive process, doing it one time would be fine. Of course this
              clip is "reusable" with another list of files another day.

              I was using the keyboard stuff to advance to the next file and then
              destroy what was on that line. I knew I could also just use cursor
              advance, but this seemed to work ... after I added a short delay. I
              know it's not the fastest.

              I need to put learning dos/batch commands onto my list of things to do.

              I have learned so much from this group it isn't funny.
            • Alec Burgess
              Don - HtmlFixIt.com (don@htmlfixit.com) wrote (in part) (on 2009-01-17 ... commands onto my list of things to do. ... Don (others) - don t know whether you
              Message 6 of 8 , Jan 17, 2009
              • 0 Attachment
                Don - HtmlFixIt.com (don@...) wrote (in part) (on 2009-01-17
                at 10:07):
                > I need to put learning dos/batch

                commands onto my list of things to do.


                > I have learned so much from this group it isn't funny.

                Don (others) - don't know whether you were paying attention when we
                discussed the "$GetDosOutput$ clip (especially making it an icon on your
                clipbar) a couple of months ago :-)

                To recap:
                Clip:
                H=GetDOSOutput
                ^!set %theCommand%=^?[Dos command=dir "D:\Temp\*.*" 2>&1]
                ^!InsertText ^%theCommand% ^p
                ^$GetDosOutput("^%theCommand%")$

                The "default" command is just an innocuous DOS command that will be a valid
                DOS command. I normally override it with the command I wish to test or
                execute. Based on Sheri's suggestion I just added the "2>&1". Without it if
                you type "garbage" in the wizard you get a popup error saying:

                No output produced by "c:\windows\system32\cmd.exe /c garbage"

                If instead you leave the 2>&1 on your command line you see:

                garbage 2>&1
                'garbage' is not recognized as an internal or external command,
                operable program or batch file.

                I already knew that, but when I DON"T know what the problem is this makes
                it a lot easier to debug! :-)

                --
                Regards ... Alec (buralex@gmail & WinLiveMess - alec.m.burgess@skype)


                [Non-text portions of this message have been removed]
              • Sheri
                ... Hi Alec, I guess I missed that conversation, but I like that clip! FWIW I just changed it a little. Now has last previous command if reused, and keeps the
                Message 7 of 8 , Jan 17, 2009
                • 0 Attachment
                  --- In ntb-clips@yahoogroups.com, Alec Burgess <buralex@...> wrote:
                  >
                  > Don (others) - don't know whether you were paying attention when
                  > we discussed the "$GetDosOutput$ clip (especially making it an
                  > icon on your clipbar) a couple of months ago :-)
                  >
                  > To recap:
                  > Clip:
                  > H=GetDOSOutput
                  > ^!set %theCommand%=^?[Dos command=dir "D:\Temp\*.*" 2>&1]
                  > ^!InsertText ^%theCommand% ^p
                  > ^$GetDosOutput("^%theCommand%")$
                  >
                  > The "default" command is just an innocuous DOS command that will
                  > be a valid DOS command. I normally override it with the command I
                  > wish to test or execute. Based on Sheri's suggestion I just added
                  > the "2>&1". Without it if you type "garbage" in the wizard you
                  > get a popup error saying:
                  >
                  > No output produced by "c:\windows\system32\cmd.exe /c garbage"
                  >
                  > If instead you leave the 2>&1 on your command line you see:
                  >
                  > garbage 2>&1
                  > 'garbage' is not recognized as an internal or external command,
                  > operable program or batch file.
                  >
                  > I already knew that, but when I DON"T know what the problem is
                  > this makes it a lot easier to debug! :-)
                  >
                  > --
                  > Regards ... Alec (buralex@gmail & WinLiveMess - alec.m.burgess@skype)
                  >
                  >

                  Hi Alec,

                  I guess I missed that conversation, but I like that clip! FWIW I just
                  changed it a little. Now has last previous command if reused, and
                  keeps the redirection behind the scene.

                  H="GetDOSOutput"
                  ^!IfEmpty "^%theCommand%" Next Else Skip
                  ^!Set %theCommand%="dir "C:\""
                  ^!set %theCommand%=^?{Dos command=^%theCommand%}
                  ^!InsertText ^%theCommand% 2>&1^p
                  ^$GetDosOutput("^%theCommand%" 2>&1)$
                  ;end of clip

                  Regards,
                  Sheri
                • Alec Burgess
                  Sheri (silvermoonwoman@comcast.net) wrote (in part) (on 2009-01-17 at ... Hi Sherri - you re up late ;-) Good idea ... DONE I substituted %theCommand% by
                  Message 8 of 8 , Jan 17, 2009
                  • 0 Attachment
                    Sheri (silvermoonwoman@...) wrote (in part) (on 2009-01-17 at
                    23:41):
                    > I guess I missed that conversation, but I like that clip! FWIW I just
                    > changed it a little. Now has last previous command if reused, and
                    > keeps the redirection behind the scene.
                    >
                    > H="GetDOSOutput"
                    > ^!IfEmpty "^%theCommand%" Next Else Skip
                    > ^!Set %theCommand%="dir "C:\""
                    > ^!set %theCommand%=^?{Dos command=^%theCommand%}
                    > ^!InsertText ^%theCommand% 2>&1^p
                    > ^$GetDosOutput("^%theCommand%" 2>&1)$
                    > ;end of clip

                    Hi Sherri - you're up late ;-)

                    Good idea ... DONE

                    I substituted %theCommand% by %theDosCommand% only because my habit is
                    frequently
                    to use variables like %theFile%, %theBuffer" etc. and some day I'm bound
                    to wind up with a conflict!

                    I had briefly considered putting past commands into either the main INI
                    file or a separate one to simulate the same
                    capabilities the Find/Replace dialog has but never got-a-round-tuit.

                    Flo?


                    [Non-text portions of this message have been removed]
                  Your message has been successfully submitted and would be delivered to recipients shortly.