f



Using File::Find to delete files and directories older than 30 days

I am a Perl beginner and I hve writen this script to remove files older
than 30 days, it works well EXCEPT that it leave the empty directories
behind, can anyone help me look for empty directories and remove them
as well?
TIA,
Steve

#! Perl -w
use Strict;
use File::Find;
$tempdir = "D:\\shared dirs\\temp Public";
find(\&Wanted, $tempdir);
sub Wanted
{
	#Do not scan Purchasing or Budget
	return $File::Find::prune = 1 if $_ eq "Purchasing - Do Not Remove";
	return $File::Find::prune = 1 if $_ eq "BUDGET";
	# only on files older than 30 days
	if ( ( -M $_ ) > 30 ) {
	@args = ("del", "/F", "/Q", "$_");
	system @args;
	}
}

0
SteveO
3/2/2006 10:40:26 PM
comp.lang.perl.misc 33233 articles. 2 followers. brian (1246) is leader. Post Follow

12 Replies
2596 Views

Similar Articles

[PageSpeed] 19

SteveO <stevehobrien@hotmail.com> wrote:

> I am a Perl beginner 


Have you seen the Posting Guidelines that are posted here frequently?


> to remove files older
> than 30 days, it works well EXCEPT that it leave the empty directories
> behind,

> #! Perl -w
> use Strict;
> use File::Find;
> $tempdir = "D:\\shared dirs\\temp Public";


That should fail to compile under strictures, you did not declare $tempdir.

   use strict;

Case matters.

   use warnings;

is better than the -w switch


If you use single quotes, then you won't have backslash the backslashes:

   my $tempdir = 'D:\shared dirs\temp Public';

Or, better yet, use sensible slashes instead of silly slashes:

   my $tempdir = 'D:/shared dirs/temp Public';


> find(\&Wanted, $tempdir);


You don't need a temporary variable at all:

   find(\&Wanted, 'D:/shared dirs/temp Public');


> sub Wanted


Naming a subroutine that deletes files "wanted" is misleading,
seems like "unwanted" would be more accurate.


> 	@args = ("del", "/F", "/Q", "$_");
                                    ^^^
                                    ^^^

   perldoc -q vars

       What's wrong with always quoting "$vars"?


> 	system @args;


You can delete files and directories in native Perl:

   perldoc -f unlink

   perldoc -f rmdir


You need File::Find::finddepth instead of File::Find::find,
so that you can process the empty directory after removing
all of its files and subdirs.

So, something like this should get you started:

-------------------------
#!/usr/bin/perl
use warnings;
use strict;
use File::Find;

finddepth \&unwanted, 'playpen';

sub unwanted {
   if ( -f ) {
      unlink $_ or die "could not unlink '$File::Find::name' $!";
   }
   elsif ( -d ) {
      rmdir $_ or die "could not rmdir '$File::Find::name' $!";
   }
   else {
      warn "$File::Find::name is neither a plain file nor a directory\n";
   }
}
-------------------------


-- 
    Tad McClellan                          SGML consulting
    tadmc@augustmail.com                   Perl programming
    Fort Worth, Texas
0
Tad
3/3/2006 1:55:20 AM
Tad McClellan <tadmc@augustmail.com> trolled:
> SteveO <stevehobrien@hotmail.com> wrote:

> > I am a Perl beginner 

> Have you seen the Posting Guidelines that are posted here frequently?

Posting guidelines?  This is not a moderated group.  People can post
as they please, although top-posting is certainly discouraged.  But
you hardly need Posting Guidelines to communicate that.

You can take your posting guidelines, you anal little hamster, and
shove them where the sun don't shine.  The only posting guidelines
anyone needs is in the man page or help file for their newsreader.

cordially, even to filth,

rm
0
Keith
3/3/2006 11:48:33 AM
Keith Weller wrote:
> Tad McClellan <tadmc@augustmail.com> trolled:
>=20
>>SteveO <stevehobrien@hotmail.com> wrote:
>=20
>=20
>>>I am a Perl beginner=20
>=20
>=20
>>Have you seen the Posting Guidelines that are posted here frequently?
>=20
>=20
> Posting guidelines?  This is not a moderated group.  People can post
> as they please,

Well, I for sure like posting guidelines, as they certainly could help=20
prevent the following:

> You can take your posting guidelines, you anal little hamster, and
> shove them where the sun don't shine.  The only posting guidelines
> anyone needs is in the man page or help file for their newsreader.

Feel free to post as you like.
However, If someone posts a question, (s)he might try to post this=20
question in a manner that might make this a successfull quest.
The posting guidelines are no law, they are _guidelines_ that help a=20
poster to get the most out of the newsgroup.
Nothing more.
Again, feel free to insult, but expect little help in that case.

--=20
Josef M=F6llers (Pinguinpfleger bei FSC)
	If failure had no penalty success would not be a prize
						-- T.  Pratchett

0
Josef
3/3/2006 12:35:51 PM
Josef Moellers <josef.moellers@fujitsu-siemens.com> wrote in news:du9dek
$k93$1@nntp.fujitsu-siemens.com:

> Keith Weller wrote:
>> Tad McClellan <tadmc@augustmail.com> trolled:
>> 
>>>SteveO <stevehobrien@hotmail.com> wrote:
>> 
>> 
>>>>I am a Perl beginner 
>> 
>> 
>>>Have you seen the Posting Guidelines that are posted here frequently?
>> 
>> 
>> Posting guidelines?  This is not a moderated group.

....

> Again, feel free to insult, but expect little help in that case.

I just wanted to make sure everyone realizes that these posts have fake 
From: lines, and, in this particular case, it wasn't Keith Keller who 
posted the complaint about the posting guidelines.

See also other recent posts which are made to look like they are coming 
from Tad.

Sinan

-- 
A. Sinan Unur <1usa@llenroc.ude.invalid>
(reverse each component and remove .invalid for email address)

comp.lang.perl.misc guidelines on the WWW:
http://mail.augustmail.com/~tadmc/clpmisc/clpmisc_guidelines.html

0
A
3/3/2006 12:46:42 PM
Tad McClellan wrote:
> SteveO <stevehobrien@hotmail.com> wrote:
> > #! Perl -w
> > use Strict;
> > use File::Find;
> > $tempdir = "D:\\shared dirs\\temp Public";
>
>
> That should fail to compile under strictures, you did not declare $tempdir.

And it would, if the OP was not using a broken operating system.
Windows will not complain about the lack of a Strict.pm file, as it
considers Strict.pm to be the same as strict.pm.  It will even require
the code from strict.pm.  But it will not carry out any of the
instructions in the strict pragma.

>    use strict;
> 
> Case matters.

Indeed.

Paul Lalli

0
Paul
3/3/2006 12:48:03 PM
Josef Moellers <josef.moellers@fujitsu-siemens.com> trolled:

> > You can take your posting guidelines, you anal little hamster,
> > and shove them where the sun don't shine.  The only posting
> > guidelines anyone needs is in the man page or help file for
> > their newsreader.

> Feel free to post as you like.

Fine.

> However, If someone posts a question, (s)he might try to post this 
> question in a manner that might make this a successfull quest.

If they post and someone has an answer to give, then they are free
to give it.  Those who demand compliance with your "guidelines" have
no information to give that is of any value.

> The posting guidelines are no law, they are _guidelines_ that help a 
> poster to get the most out of the newsgroup.

No.  The _guidelines_ are an exercise in anal-retention demanded by
a tiny little clique in this forum who thinks they have the right to
tell others what to do.

> Nothing more.

Nothing more.

> Again, feel free to insult, but expect little help in that case.

Who's asking?  And if I do ask, I won't be expecting any from you,
ok?

From what I understand, zoloft might help you out.

cordially, as always,

rm
0
Ronald
3/3/2006 3:31:15 PM
A. Sinan Unur <1usa@llenroc.ude.invalid> trolled:

> I just wanted to make sure everyone realizes that these posts have
> fake From: lines, and, in this particular case, it wasn't Keith
> Keller who posted the complaint about the posting guidelines.

No, it was Keith Weller.  Having reading problems?  If you hadn't
deleted the attribution line, you could have seen that for yourself.

Duh.

> See also other recent posts which are made to look like they are
> coming from Tad.

What about posts that look like they are coming from you?

If you're a "friend" of Keller's and McLellan's, then you're not
worth a response, are you?  

Please put yourself in a killfile so I won't be able to read your
remarks.

Thanks, troll.

cordially, as always,

rm
0
A
3/3/2006 3:35:45 PM
A Sinan Unur wrote:
> A. Sinan Unur <1usa@llenroc.ude.invalid> trolled:
>=20
>=20
>>I just wanted to make sure everyone realizes that these posts have
>>fake From: lines, and, in this particular case, it wasn't Keith
>>Keller who posted the complaint about the posting guidelines.
>=20
>=20
> No, it was Keith Weller.  Having reading problems?  If you hadn't
> deleted the attribution line, you could have seen that for yourself.
>=20
> Duh.
>=20
>=20
>>See also other recent posts which are made to look like they are
>>coming from Tad.
>=20
>=20
> What about posts that look like they are coming from you?

What posts "look like they are coming from" Sinan?
There are posts that have a fake "From:" line in the header, where the=20
Sender's identity closely resembles Sinan's, but the content (and that's =

what matters here) can be easily distinguished from a real post by Sinan.=


I assume that you deliberately mis-quote Sinan's and other respected=20
persons' names as you might get into legal trouble by assuming their=20
identities. Here in Germany, we call that "Rufmord" and it's a federal=20
offence.

--=20
Josef M=F6llers (Pinguinpfleger bei FSC)
	If failure had no penalty success would not be a prize
						-- T.  Pratchett

0
Josef
3/6/2006 9:04:34 AM
Thanks Tad, I think.  Didn't realize that asking a relatively simple
question would result in such a fuss.

Thanks Again,
Steve

0
SteveO
3/6/2006 6:02:58 PM
SteveO <stevehobrien@hotmail.com> wrote:

> Thanks Tad, I think.


What is the "I think" qualifier for?

Did what I posted help you?


-- 
    Tad McClellan                          SGML consulting
    tadmc@augustmail.com                   Perl programming
    Fort Worth, Texas
0
Tad
3/6/2006 9:54:00 PM
>What is the "I think" qualifier for?
The I think qualifier was because I hadn't read the posting guidelines
yet and wasn't sure if you were slamming me.  And due to volumous
replies off-topic.

>Did what I posted help you?
Yes it helped.  Although I already hacked around it using a separate
script to accomplish the directory purge.  I will go back and clean up
when I get the chance.

Steve

0
SteveO
3/7/2006 8:26:03 PM
SteveO <stevehobrien@hotmail.com> wrote:

[ attribution missing, please compose followups properly ]

>>What is the "I think" qualifier for?

> The I think qualifier was because I hadn't read the posting guidelines
> yet 


That does not make my followup unworthy of thanks.

I just figured you'd want to know how best to get answers
to your Perl questions, so I mentioned those tips.


> and wasn't sure if you were slamming me.  


If I felt that slamming was called for, then I would have also
felt that helping to answer the question was uncalled for.

You can tell it wasn't a slam, because my post didn't stop right there. :-)


> And due to volumous
> replies off-topic.


None of those were me, so the "I think" should not attach to me.

The thread was hijacked by a troll. Don't pay serious attention
to its hub-bub, that would be giving it what it wants.


>>Did what I posted help you?

> Yes it helped.


All is well then.

Happy Perling!


-- 
    Tad McClellan                          SGML consulting
    tadmc@augustmail.com                   Perl programming
    Fort Worth, Texas
0
Tad
3/7/2006 9:00:44 PM
Reply:

Similar Artilces:

use file::find to find files modified in last 5 days
I have written a script to find files I now want to be able to pass it a days parameter and only show files modified in the last x days How do I do this My script so far is below use strict; use lib 'jumi'; use WebLib; use File::Find; use File::Basename; my ( $folder, $tofind, $tofile, $exclude, $cs ) = @ARGV; my @tofind = split '&&',$tofind; #strip whitespace @tofind = grep(s/\s*$//g, @tofind); @tofind = grep(s/^\s*//g, @tofind); foreach(@tofind) {print "|$_|<br>";} print "<p>Excluded:<br>$exclude</p>"; find(\&wa...

Delete files older than x days with Batch-File ..?
Hello, i want to delete all files from d:\procdata_in\ which older than 15 days. Now i want to do this with a Batch-File (put into the autostart for all users). Can somebody help me? I has tried with the following code, but the my pc doesn=B4t know the command "FORFILES" .. ?? It=B4s Windows2000 and the others pc=B4s with WinNT and XP .. Forfiles -p D:\procdata_in -s -m *.* -d -1 -c "Cmd /C del 0x22@Path\@File0x22" <Cyber19@web.de> wrote in message news:1132064214.078479.200390@g47g2000cwa.googlegroups.com... >Hello, >i want to delete...

Using File::Find and only manipulating 1 file per directory.
I am rather new to Perl and I'm looking for a little direction. How can I use File::Find to step recursively through a directory tree and then only manipulate *one* file per directory it encounters. What I am trying to do specifically is copy the first image file in each directory up to the next highest directory ("../"). Then I'd like to rename it with the directory name it came from (in other words, copy it from "/images/image1.jpg" to "/images.jpg") I am able to copy *all* images to the next highest directory using the following code: #!/usr/bin/pe...

Delete all files older than 1 day in directory
Hey folks! New to perl programming, started (checks watch) 3 hours ago. The task I am trying to achieve: Delete all folders within the 'public_compile' directory located at the root of my site. I understand from trawling through past posts to the group that the following should do it,.. 'for(</public_compile/*>){ unlink if -M>1 }', ...but I am somewhat nervous to give it to my server as a 'cron-job' since it deletes and uses a wild-card. I would test it on my local server but I cannot, for the life of me, figure how to set up a cron-job using the Apache &...

files, directories, files, directories
Hi folks, I've been trying to make a decision and it's driving me crazy. Is a directory a file or is a directory NOT a file but a node? Should I have A) public interface IFile { IFileName FileName; IContent GetContent(); } public interface IDirectory extends IFile { } or B) public interface INode { INodeName NodeName; } public interface IFile extends INode { IContent GetContent(); } public interface IDirectory extends INode { } Method A is nice cause IFile becomes the base "Node" type and you can use names like "IFileName" which sound...

Need a simple script that deletes files older than 30 days
I'm running Windows 2000 and have ActivePerl. Is there a script that deletes files older than 30 days thanks, Chris On 21 Nov 2003 14:23:08 -0800, Chris Gregory <christian_gregory2002@yahoo.com> wrote: > I'm running Windows 2000 and have ActivePerl. > > Is there a script that deletes files older than 30 days This a forum for discussing perl and Perl. It is not a find your code for free service. Post an ad in an appropriate place (a newsgroup with jobs in the title for example) if you want to pay someone to provide the code, or search the various software archi...

http://LongPathTool.com
http://LongPathTool.com - unlock files in-use by other applications + Delete and Copy Path Too Long Files The application solves the problem with inability to copy and delete files and folders with long paths or locked by some application. They could be created by virus/adware/different OS/other software. Normally one can't access such files under Windows and therefore can't delete them either. Please check other Features for more details. Also you can download the latest evaluation version on our download page. Long Path Tool uses a variety of methods to delete the pers...

Find Files Using A File Property?
Hi I'm looking for a program that will allow me to find files using the creation date. Specifically, any file that has an "Created: <unknown>" date. Thanks ...

Delete files from FTP Server older then 7 days. Using ftputil and ftplib.
Hello I am new to Python programming. I need a write a script which will delete files from a FTP server after they have reached a certain age, like 7 days for example. I have prepared this code below, but I get an error message: The system cannot find the path specified: '/test123/*.*' Probably someone can help me further? Thank you in advance! import os, time, ftputil from ftplib import FTP ftp = FTP('127.0.0.1') print "Automated FTP Maintainance" print 'Logging in.' ftp.login('admin', 'admin') # This is the directory that we...

how to file file in a directory using ACE
Version: 5.4.9 host: suse linux enterprise server 9 sp2, SuSE Linux Enterprise Server 9 sp2 compiler: vs.net 2003 gcc 3.3.3 how to file file in a directory using ACE ...

Need help doing a find in current directory only of zero byte file that is older that is older than 10 minutes and move it to a subdirectory off the current directory
Need help doing a find in current directory only of zero byte file that is older that is older than 10 minutes and move it to a subdirectory off the current directory. So far I have this: find . -size 0c -exec mv {} /xxx/xxxxxx/xxx/error \;& this is working but then when i run that, it goes to the subdirectories as well, which I don't want, and it doesn't do the check for files older than 10 minutes. I only want to do a find on the current directory, no subdirectories...and I want to only move a 0 byte file that has been inactive for 10 minutes. I am using Solaris 8 and its ol...

cannot delete file
cannot delete file - http://LongPathTool.com can fix it Do you have error messages?, like : Path too long. Error cannot delete file: cannot read from source file or disk Cannot delete file: Access is denied There has been a sharing violation. Cannot delete file or folder The file name you specified is not valid or too long. Specify a different file name. The source or destination file may be in use. The file is in use by another program or user. Error Deleting File or Folder Make sure the disk is not full or write-protected and that the file is not currently in use. Error Copy...

cannot delete file
cannot delete file - http://LongPathTool.com can fix it Do you have error messages?, like : Path too long. Error cannot delete file: cannot read from source file or disk Cannot delete file: Access is denied There has been a sharing violation. Cannot delete file or folder The file name you specified is not valid or too long. Specify a different file name. The source or destination file may be in use. The file is in use by another program or user. Error Deleting File or Folder Make sure the disk is not full or write-protected and that the file is not currently in use. Error Copy...

find files in one directory to use to search through another directory
HI, I'm a beginner to intermediate user. Here's what I am trying to do. I have a directory (call it X) with many sub-directories with many .h files. I want to use the names of the .h files in directory X to search through another directory (call it Y) and see where the .h files from X are included in the .h and .cpp files in Y. In directory X I used the following command to find all the .h files: find . -name "*.h" The above command generates a list of all the .h files, but with the path name. I don't want the path names, only the name of the file.h Then I want to do ...

deleting a line in a file, where file is in directory structure
Hi, I'm trying to deleting a line in a file, where file is in directory structure. I tried this but the output only shows me to screen and do not save tc.info that do not contain "dontrun" find . -name "tc.info" -exec sed '/dontrun/d' {} \; I also tried this #!/bin/sh for x in `find . name tc.info` do y=${x%% tc.info} pushd $y sed '/dontrun/d' tc.info popd done But this is even worst, lots of error... Any suggestions? Thanks. Hi Kelly Check out the following perl code #!/usr/bin/per open(myFile,"te...

Finding data file in same directory as module file
I am writing a module which requires a separate non-ASCII data file from which it will read information during the module's initialization. I'd like to dynamically locate the data file in the module's code. It should be either in the same directory as the module itself, or some directory path relative to the module's directory location. For now, I have the following code: (my $datafile = $INC{'MyPackage.pm'}) =~ s{[^\\/]+$}{data.bin}; Where MyPackage.pm is the name of my module file. This works. However, I would like to know if there is a more accepted way...

using File::Find with big files on Linux
I've noticed something peculiar with a script that checks file sizes using the File::Find - finddepth routine. When it comes across really big files, say >4GB it examines (or compares) the file twice. Anyone seen this before? Care to share the cause of this problem, and some ideas for a solution? thx. Matt Rohm wrote: > I've noticed something peculiar with a script that > checks file sizes using the File::Find - finddepth > routine. When it comes across really big files, > say >4GB it examines (or compares) the file twice. > > Anyone seen this before? C...

delete-file & probe-file on directories
should delete-file and probe-file work on directories? e.g. suppose we have a file "foo" and a subdirectory "bar/". what should (probe-file "foo") (probe-file "foo/") (probe-file "bar") (probe-file "bar/") return? one could argue that the first two invocations should return the same as (truename "foo") and the last two the same as (truename "bar/"). one can also argue that the 2nd and 3rd should return nil - especially if it is possible to have same named files and subdirectories (are there filesystems where fi...

Perl not deleting file content if file on server
Hi, using open RESULTS, ">results.txt"; does not delete the contents of the file if the file sits on a server. However, using print I can overwrite as many characters as I want. For example, if the content of the file is 'Fred went home.', and I write (via print) 'Carl' then only the first four characters get replaced with rest remaining, i.e. the file will look now 'Carl went home.'. I can also append to the file using: open RESULTS, ">>results.txt"; If the file sits on C:\\, then using open RESULTS, ">results.txt"; ...

How to find New File,Write file and close file?
Hi Anyone can show me how to find New File,Write File and close file in block diagram.The picture of file names are as show in pics. Thanks &nbsp; Nyan Lin File find.JPG: http://forums.ni.com/attachments/ni/170/322096/1/File find.JPG Hi. The functions You're looking for are under "File I/O --&gt; Advanced File Functions" (At least the NEW File) The 2 others are in the "File I/O" menu on the functions palette. Good luck.Message Edited by BCL@Servodan on 05-08-2008 03:38 AM Hi again. My mistake. I was looking in my LabView7. In 8.5.1 the Icons have changed.....

Find directory of load-file'd file
Hi, I would like to be able to find out what directory a file is in when it is load-file'd from elsewhere. Is this feasible? All the docs I can find talk about finding paths for *buffers*... Google has not been my friend today as I think my elisp vocabulary is not sufficient for me to figure out the right phrase to use! Thanks, Martin -- martin.j.thompson@trw.com TRW Conekt - Consultancy in Engineering, Knowledge and Technology http://www.conekt.net/electronics.html Martin Thompson <martin.j.thompson@trw.com> writes: > Hi, > > I would like to be able to find out wh...

http://DuplicateFilesDeleter.com - This software deletes duplicate files in media collection of any type Duplicate Files Deleter
http://DuplicateFilesDeleter.com - This software deletes duplicate files in media collection of any type Duplicate Files Deleter - automatically with the software to Delete File Duplicates. This software deletes duplicate files in media collection of any type. Want to delete duplicate files? Delete duplicate files everywhere: Delete duplicate files in music collection Automatically delete duplicate files in the photo collection Find and delete duplicate files in any folder Delete duplicate files on the single and multiple hard drives =85 delete duplicate files everywhere All you need to delete duplicate files is to download automatic duplicate file deleting software. Find duplicate files, smoothly delete duplicate files and remove duplicate files in any folder. Duplicate Files Deleter - Download software to delete file duplicates! http://DuplicateFilesDeleter.com - This software deletes duplicate files in media collection of any type ...

FAQ 5.35 Why does Perl let me delete read-only files? Why does "-i" clobber protected files? Isn't this a bug in Perl?
This message is one of several periodic postings to comp.lang.perl.misc intended to make it easier for perl programmers to find answers to common questions. The core of this message represents an excerpt from the documentation provided with Perl. -------------------------------------------------------------------- 5.35: Why does Perl let me delete read-only files? Why does "-i" clobber protected files? Isn't this a bug in Perl? This is elaborately and painstakingly described in the file-dir-perms article in the "Far More Than You Ever Wanted To Know" collec...

FAQ 5.37 Why does Perl let me delete read-only files? Why does "-i" clobber protected files? Isn't this a bug in Perl?
This is an excerpt from the latest version perlfaq5.pod, which comes with the standard Perl distribution. These postings aim to reduce the number of repeated questions as well as allow the community to review and update the answers. The latest version of the complete perlfaq is at http://faq.perl.org . -------------------------------------------------------------------- 5.37: Why does Perl let me delete read-only files? Why does "-i" clobber protected files? Isn't this a bug in Perl? This is elaborately and painstakingly described in the file-dir-perms ar...

Web resources about - Using File::Find to delete files and directories older than 30 days - comp.lang.perl.misc

List of web directories - Wikipedia, the free encyclopedia
Open Directory Project (a.k.a. ODP or dmoz) – The largest directory of the Web. Its open content is mirrored at many sites, including the Google ...

To Complement Its Search Engine, Facebook Launches People, Pages, and Places Directories
Facebook is now closer than ever to becoming the phone book for the internet. The site recently launched a Directory of people , Pages , and ...

Directories - ARN
The source for IT industry news, views and analysis across the channel, business and technology

Princess Diana leaked royal directories to Murdoch tabloid, court hears
The former royal editor of Rupert Murdoch's now defunct British tabloid the News of the World told a court on Thursday that the late Princess ...

Telstra slashes 800 jobs from directories arm Sensis
TELSTRA is slashing 800 jobs from its struggling directories arm Sensis just one month after the telco giant sold a 70 per cent stake in the ...

Government To Stop Publishing Contact Information In Blue Pages Of Phone Directories
... has decided to stop publishing contact information for all of its departments and agencies in the blue pages section of telephone directories.A ...

File System Programming Guide: About Files and Directories
Explains how to create and manage files and directories.

Fixing directories
Web directories are one of the key points of differentiation between plans on the Exchanges. A single company can offer half a dozen networks ...

Pittsburgh Business Times Local Directories
... email newsletters, events, print subscription, digital subscription or other special offers. Welcome to Pittsburgh Business Times Local Directories. ...

Bradenton and Lakewood Ranch Guides - Directories and guides
The Bradenton Herald is your source for Bradenton and Lakewood Ranch directories and guides.

Resources last updated: 2/23/2016 5:12:08 AM