text replacer

Discuss and share scripts and script files...
Muroph
Posts: 561
Joined: 21 Aug 2007 15:13

text replacer

Postby Muroph » 05 Dec 2009 09:56

based on this thread i wrote a more generic script that's been quite useful to me.
just enter a regex like you would in regex rename and it will apply it on the selected files.
the script also saves the regex on an ini file for quick use the next time you run it.

Code: Select all

"Text Replacer v1"
   $sep=getkey(RegExpRenameSep,general);
   end (getinfo(countselected)<1);
   getkey $last,last,text_loop,"script_settings.ini";
   $regex=input("Enter RegEx","<match>$sep<replace>,$last");
   setkey $last,last,text_loop,"script_settings.ini";
   $filelist = getinfo('SelectedItemsPathNames','|');
   $count=1;
   while(1){
      $file=gettoken($filelist,$count,"|");
      if("$file"==""){break;}
      $match=gettoken($regex,1,$sep);
      $rep=gettoken($regex,2,$sep);
      $data=regexreplace(readfile($file),$match,$rep);
      writefile($file,$data);
      $count++;}
   status "Done!",,ready;

get the latest version here.
Last edited by Muroph on 20 Mar 2010 00:37, edited 2 times in total.
My shared scripts:
TeraCopy Integration, Tag Manager, Comments Menu, Text Replacer, Image and Media Tools, Checksum Calculator, Video Calculator
only 5 URLs are allowed on the sig...

lukescammell
Posts: 744
Joined: 28 Jul 2006 12:15
Location: Kent, UK
Contact:

Re: text replacer

Postby lukescammell » 09 Dec 2009 12:37

Quick question, but does this do find and replace on the file CONTENTS or the file NAME?
Used to update to the latest beta every day. Now I have children instead…
Windows 10 Pro x64 (everywhere except phone…)

Muroph
Posts: 561
Joined: 21 Aug 2007 15:13

Re: text replacer

Postby Muroph » 09 Dec 2009 14:13

lukescammell wrote:Quick question, but does this do find and replace on the file CONTENTS or the file NAME?

contents.
My shared scripts:
TeraCopy Integration, Tag Manager, Comments Menu, Text Replacer, Image and Media Tools, Checksum Calculator, Video Calculator
only 5 URLs are allowed on the sig...

cpusrvc
Posts: 54
Joined: 02 Jan 2010 06:51
Location: S. Florida, USA
Contact:

Re: text replacer

Postby cpusrvc » 02 Jan 2010 07:01

I was having a problem using the script. For each file in the selected list, it asked for the text replacement information. I moved these lines:

$regex=input("Enter RegEx","<match>$sep<replace>,$last");
setkey $last,last,text_loop,"script_settings.ini";


from inside the loop routine to just before the line

while(1){

Now it asks for the text strings just once instead of each file.

Muroph
Posts: 561
Joined: 21 Aug 2007 15:13

Re: text replacer

Postby Muroph » 04 Jan 2010 02:13

cpusrvc wrote:I was having a problem using the script. For each file in the selected list, it asked for the text replacement information. I moved these lines:

$regex=input("Enter RegEx","<match>$sep<replace>,$last");
setkey $last,last,text_loop,"script_settings.ini";


from inside the loop routine to just before the line

while(1){

Now it asks for the text strings just once instead of each file.

ah!
i noticed that on my script soon after posting it here (it was a copypasta error).
i fixed the script on my pc, but it looks like i forgot to fix the script on the post.
sorry! :oops:
My shared scripts:
TeraCopy Integration, Tag Manager, Comments Menu, Text Replacer, Image and Media Tools, Checksum Calculator, Video Calculator
only 5 URLs are allowed on the sig...

lukescammell
Posts: 744
Joined: 28 Jul 2006 12:15
Location: Kent, UK
Contact:

Re: text replacer

Postby lukescammell » 04 Jan 2010 12:11

Very cool, I'm interested in your advanced version :)

I don't suppose this advanced version has an option to save a number of regex snippets and then add these to the current operation to run in a specified, reconfigurable sequence does it? :D
Used to update to the latest beta every day. Now I have children instead…
Windows 10 Pro x64 (everywhere except phone…)

SkyFrontier
Posts: 2272
Joined: 04 Jan 2010 14:27
Location: Pasárgada (eu vou!)

Count me in!

Postby SkyFrontier » 04 Jan 2010 14:39

Hello, Muroph!
Thank you for the script, I was badly needing such a thing a month ago.
Currently unable to test it properly on my work machine, where that project lays.
But please count me in - it seems that your advanced script will be very useful! :D
-Have a great new year all!
New User's Ref. Guide and Quick Setup Guide can help a bit! Check XYplorer Resources Index for many useful links!
Want a new XYperience? XY MOD - surfYnXoard
-coz' the aim of computing is to free us to LIVE...

SkyFrontier
Posts: 2272
Joined: 04 Jan 2010 14:27
Location: Pasárgada (eu vou!)

Simple version request

Postby SkyFrontier » 04 Jan 2010 15:01

Please don't laugh, but as a script newbie I HAVE to ask:
-would you mind in posting also a simpler version, which I could use along with CKS (meaning "custom keyboard shortcut")?
What I have in mind is: select mixed text files (.txt and .ini, for instance) and applying a text replacing previously written inside the script - no prompts, just "select files - press CKS".
It would be great having those 3 versions at hand on this thread for future references, also.
Many thanks - quickly tested on this machine and it works great (v8.80.0003)!
New User's Ref. Guide and Quick Setup Guide can help a bit! Check XYplorer Resources Index for many useful links!
Want a new XYperience? XY MOD - surfYnXoard
-coz' the aim of computing is to free us to LIVE...

SkyFrontier
Posts: 2272
Joined: 04 Jan 2010 14:27
Location: Pasárgada (eu vou!)

Text Replacer, v1.1

Postby SkyFrontier » 04 Jan 2010 16:02

-Suggestion:
I believe I saw anywhere that XYplorer now has a .txt check. So it would be great having such a check prior to making a file change.
-If it does NOT have such check, or that check doesn't fit on a script, I suggest that a extension check could be made prior to even trying to change a file's content. If it can be achieved, why not having that check included on "normal/standard", "simple" (no GUI, altered manually) and "advanced"?
New User's Ref. Guide and Quick Setup Guide can help a bit! Check XYplorer Resources Index for many useful links!
Want a new XYperience? XY MOD - surfYnXoard
-coz' the aim of computing is to free us to LIVE...

SkyFrontier
Posts: 2272
Joined: 04 Jan 2010 14:27
Location: Pasárgada (eu vou!)

Re: text replacer

Postby SkyFrontier » 08 Jan 2010 22:48

Confirmed - xyPlorer CAN check the nature of a .txt (ANSI, etc). It seems that this thread is dead, so I'll take some chance this weekend and try to get the stuff done - at least the simple version I need. *Geez, I should have learned computing...*
New User's Ref. Guide and Quick Setup Guide can help a bit! Check XYplorer Resources Index for many useful links!
Want a new XYperience? XY MOD - surfYnXoard
-coz' the aim of computing is to free us to LIVE...

PeterH
Posts: 2467
Joined: 21 Nov 2005 20:39
Location: Germany

Re: text replacer

Postby PeterH » 08 Jan 2010 23:19

I didn't look much into this, but in the first post is said: "...will apply it to selected files" - so you should only select the files you want to change?
If you would not want to pay attention here, you could extend the script to do that. But then you had to tell the script, if only .bat, .txt, both or some more extensions should be edited - as they all are text, and *could* be meant.

I hope I understood correct what you talked about?

By the way - this isn't computing - this is only scripting :lol:
(Beg your pardon - this was a joke :oops: )

SkyFrontier
Posts: 2272
Joined: 04 Jan 2010 14:27
Location: Pasárgada (eu vou!)

Re: text replacer

Postby SkyFrontier » 09 Jan 2010 17:06

I can't find where, but recall that XY does not "recognizes" files but it can be told to "write" files in ANSI, Unicode and such. What I said above,
"...a .txt check. So it would be great having such a check prior to making a file change.",
refers to this.
And yes, PeterH, in case XY can't recognize the structure of a file as being a pure .txt file, the other option would be telling it to which extensions apply the changes. BOTH options would be better in such scripts. Errr... where is our scripter??? lol
New User's Ref. Guide and Quick Setup Guide can help a bit! Check XYplorer Resources Index for many useful links!
Want a new XYperience? XY MOD - surfYnXoard
-coz' the aim of computing is to free us to LIVE...

Muroph
Posts: 561
Joined: 21 Aug 2007 15:13

Re: text replacer

Postby Muroph » 09 Jan 2010 20:06

sorry for the late reply.
i'm currently spending my vacations on the beach. 8)
my last post was sent from a lan-house.

lukescammell wrote:Very cool, I'm interested in your advanced version :)

I don't suppose this advanced version has an option to save a number of regex snippets and then add these to the current operation to run in a specified, reconfigurable sequence does it? :D

i'll post the advanced version when i go back home, but it's much less intuitive than the "basic" version.

no snippets yet.
i was working on a system to quickly load some favorite regexes, but i think real snippets would need a more advanced input dialog (maybe using html).

SkyFrontier wrote:Please don't laugh, but as a script newbie I HAVE to ask:
-would you mind in posting also a simpler version, which I could use along with CKS (meaning "custom keyboard shortcut")?
What I have in mind is: select mixed text files (.txt and .ini, for instance) and applying a text replacing previously written inside the script - no prompts, just "select files - press CKS".

i was working on this just before coming to the beach.
wait 1 or 2 weeks. :P
SkyFrontier wrote:I believe I saw anywhere that XYplorer now has a .txt check. So it would be great having such a check prior to making a file change.
-If it does NOT have such check, or that check doesn't fit on a script, I suggest that a extension check could be made prior to even trying to change a file's content. If it can be achieved, why not having that check included on "normal/standard", "simple" (no GUI, altered manually) and "advanced"?

yup, i plan to do that.
and on the advanced version you can already force the script to write using ANSI or unicode.
PeterH wrote:I didn't look much into this, but in the first post is said: "...will apply it to selected files" - so you should only select the files you want to change?
If you would not want to pay attention here, you could extend the script to do that. But then you had to tell the script, if only .bat, .txt, both or some more extensions should be edited - as they all are text, and *could* be meant.

yup, you must select the files you want to change.
it should also work with some non-txt files, but i've never tested them before.


i should be back home by the end of the next week.
please, be patient. :P
My shared scripts:
TeraCopy Integration, Tag Manager, Comments Menu, Text Replacer, Image and Media Tools, Checksum Calculator, Video Calculator
only 5 URLs are allowed on the sig...

admin
Site Admin
Posts: 41914
Joined: 22 May 2004 15:48
Location: Cologne, Win 8.1
Contact:

Re: text replacer

Postby admin » 09 Jan 2010 20:33

BEACH! 8) The word alone is melting some of the snow here...

Muroph
Posts: 561
Joined: 21 Aug 2007 15:13

Re: text replacer

Postby Muroph » 21 Jan 2010 18:50

finally, here's the new version.
it's more powerful than the advanced version i mentioned before, and it's much more user friendly.
i'd say it's still in beta stage, tho.
setting are saved to a ini file.
you can change the ini's path and some UI setting near the beginning of the script.

favorites will come when i get some free time again, hopefully along with a better html UI.

how to use it:
- select the files you want to change.
- enter the search and replace regexes.
- select the output mode:
--- original: same as input file (uses SC filetype).
--- auto: let xyplorer decide (i.e. SC writefile default mode).
--- unicode, ascii or binary.
-optionally:
--- add a prefix and/or sufix to the file name (this will create a new file instead of modifying the original).
--- append or change extension (also creates a new file).
--- tell the script to remember (or not) the current operation for the next time you run it.
text_rep3_beta.xys
(9.65 KiB) Downloaded 198 times

admin wrote:BEACH! 8) The word alone is melting some of the snow here...

there wasn't a single sunny day in the 2 weeks i stayed there, tho. :cry: :evil:
My shared scripts:
TeraCopy Integration, Tag Manager, Comments Menu, Text Replacer, Image and Media Tools, Checksum Calculator, Video Calculator
only 5 URLs are allowed on the sig...


Return to “Script Exchange”



Who is online

Users browsing this forum: No registered users and 1 guest