0

Just trying to work out a way to rename some sub folders and could do with some help.

Basically, When our staff write documentation for a proposal, they create a folder with the project name. When they win the proposal and it becomes a project, the copy the proposal folder into the newly created project folder (which is on a different network drive) See example below:

-Site
--Project
---B100020.01 - Project 1
----B10020.001 - Original Proposal
---B100022.01 - Project 2
----B10022.001 - Original Proposal

What I would like to do is systematically rename the proposal folder underneath the new project folder to _Proposal.

e.g.
-Site
--Project
---B100020.01 - Project 1
----_Proposal
---B100022.01 - Project 2
----_Proposal

The problem we are having is that the proposal and project folder names can be upwards of 100 characters and we are having file length issues with the server.

Now I know there are tools out there for batch renaming but I cannot find anything that will look at a certain folder level and look down to the next level and rename.

Any ideas?

Falcon Momot
  • 24,975
  • 13
  • 61
  • 92
leepryor
  • 1
  • 1
  • Script it. You're looking at a handful of lines of batch file or powershell script, and it will take less time than finding a program that does precisely what you want. – TessellatingHeckler Oct 04 '13 at 02:52

1 Answers1

0

To expand on my comment 'Script it':

PowerShell:

# Be in ...\site\project
# Get a list of all the folders (B100020.01, B100020.02, ...)
# Then go into ech of those and get a list of all the folders (B10020.001 - Original Proposal...)
# Store them in a list called $props
$props = (gci | ?{$_.psiscontainer} | gci | ?{$_.psiscontainer} )

# Now go through every folder 
# check if they have 'proposal' in the name, and if so rename them to '_proposal'
foreach ($foldr in $props) { if ($folder.Name.ToLower().Contains('proposal')) { Rename-Item -path $foldr.fullname -newname '_proposal' } }

(Warning, functionality not guaranteed, use for ideas only).

TessellatingHeckler
  • 5,676
  • 3
  • 25
  • 44