求一个递归修改文件夹内全部子文件和文件夹名的程序(batch或者perl)

需求是这样的:
递归修改文件夹中所有名字带“aaa”字符串的 文件夹名或者文件名改成 bbb
例如:
01_aaa
|_01_aaa_01
|_nbdaaa_01.txt
|_nbcaaa_02.txt
|_02_aaa_01

改成
01_bbb
|_01_bbb_01
|_nbdbbb_01.txt
|_nbcbbb_02.txt
|_02_bbb_01

http://blog.163.com/liuruigong_lrg/blog/static/27370306201062703642400/