| Home | Basic/Intermediate version | Advanced version | Super Advanced version |

Free Download & Tutorial: How to Perform Multiple Search and Replace Operations on Multiple Files in One Fell Swoop! (Basic to Intermediate)

By Howard Charles Best, February 12, 2008

(llbest.com)

Subfolder support added: February 10, 2010

Preview mode added: May 17, 2010


This tutorial assumes the following 3 things:

1. That extensions for known file types are not hidden. (1. Click Start / My Documents. 2. Click Tools / Folder Options…. 3. Click the View tab. 4. Make sure that Hide extensions for known file types is unchecked.)

2. That you have Notepad2 or a shortcut to it on your desktop.

3. That you have installed Perl according to the tutorial at:
http://llbest.com/PerlProgramming.htm.


On this web page:
A. Introduction
B. Get the Free Download
C. Main Features
D. Example
E. Preview Mode
F. Subfolder Support
G. Conclusion


A. Introduction

This web page is a tutorial on how to use a free Perl program to do search and replace operations on a basic to intermediate level of complexity. The Perl program has saved me tremendous amounts of time. I have used it hundreds of times, sometimes making changes to thousands of HTML files at a time!


B. Get the Free Download

The free download (_REPLACE2.zip) contains the following 2 files:

Screen capture of Notepad2 showing the 2 files

1. Download now (1.71 KB).

2. Unzip _REPLACE2.zip to a folder called _REPLACE2..


C. Main Features:

1. Multiple files can be changed in one fell swoop.

2. These files can be a mixture of regular ANSI and UTF-8.

3. Optionally, files in subfolders may also be included.

4. Changed and unchanged files can be easily separated by sorting by “Date Modified.” (Unchanged files are not rewritten.)

5. A log file is created which lists how many changes were made to each file.

6. Optionally, Preview Mode can be used to do a find or to “go through the motions” without actually making any changes to any files.

7. If the .bat file is renamed (in order to create specialized versions, for example), then the new .log file will automatically have the new name.


D. Example:

Suppose that you want to update a folder full of a mixture of .htm and .html files, some of which may be missing the > character on the end of the </html>. Each .htm / .html file also contains the string: http://yourwebsite.com/..., and you want to change each of the ... strings to the actual file name of that particular file. Using this web page as an example, http://llbest.com/... should be changed to http://llbest.com/_REPLACE2.htm. You also want to edit only the text which appears between <title> and </title>. If the text contains one or more apostrophies ('), then you want to change them to &rsquo;. Suppose also that some of these same files contain <pre>...</pre> tags and you want to change them to <tt>...</tt> tags. This change also necessitates placing <br> tags at the end of every line within the <tt>...</tt> tags.

Here’s how to make all of these changes in one fell swoop:

1. Drag and drop the _PERL_SandR.bat file’s icon onto the Notepad2 icon. Then you will see lines 23 through 26 and lines 67 through 77 as follows:

Note: # at the beginning of a line indicates that the line is a comment, so the Perl compiler simply ignoes it. In order to see the effect of the above 4 Regular Expression Perl statements one at a time, you could “comment out” all but one.

By the way, line 25 could be shortened as follows:

Here is what _PERL_SandR.test looks like:

2. Double click _PERL_SandR.bat file’s icon. Then you should see the following:

Screen capture of search and replace operation

2 new files were created:

Screen capture showing the 4 files

_PERL_SandR.test was copied to _PERL_SandR.htm and then the search and replace operations were performed:

Here is what the LOG file looks like:

(_PERL_SandR.log)


Note: Lines 25, 26, 69, 71, 73 and 75 of _PERL_SandR.bat use what are called Regular Expressions. For more examples of search / replacement string syntax using Regular Expressions, see
http://llbest.com/RegularExpressions.htm. For a tutorial on Perl regular expressions, see http://perldoc.perl.org/perlretut.html. For a reference, see http://perldoc.perl.org/perlreref.html.


E. Preview Mode

The .bat file contains the following in lines 15 through 17:


F. Subfolder Support

The .bat file contains the following in lines 19 through 21:


G. Conclusion

Now you are ready to perform multiple search and replace operations on any number of files:

1. Be sure to keep backup copies of all of the files until you are sure that the search and replace operations were done correctly.

2. Copy the files to be edited to a temporary folder such as C:\Temp2.

3. Copy _PERL_SandR.bat to the same folder.

4. Comment out lines 69, 71, 73 and 75. Then add your own particular search and replace operation line(s).

5. If appropriate, comment out both lines 25 and 26. Then add a file name mask assignment line which fits the particular files that you wish to change.

6. Double click the _PERL_SandR.bat file’s icon, and if all goes according to plan, all of the files will now be edited automatically!


| Home | THIS WEB PAGE URL: http://llbest.com/_REPLACE2.htm | Basic/Intermediate version | Advanced version | Super Advanced version |