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

Re: delete files containing a search term

Expand Messages
  • 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 1 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 2 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 3 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 4 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 5 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 6 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 7 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.