Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 176
  • Last Modified:

Renaming Files during a copy Paste to New Folder

We have PDF Files located in a shared folder we have H:\FDW
All of the files have a similar naming convention like this
AY-Claims Detail Report - Agent 123456.pdf

I need a simple procedure to copy these files to a folder named H:\FDW\Changes

and rename them so they appear like this

123456_AY.PDF in the folder H:\FDW\Changes

Basically take the 6 characters to the left of the period
plus an underscore
plus the left 2 characters
plus .PDF

How can i do this and where can i execut this from?  Thanks
0
quizzer
Asked:
quizzer
  • 2
  • 2
1 Solution
 
Steve KnightIT ConsultancyCommented:
You need a batch file.  You can use the xcopy or copy commands together with the ability to amend strings in batch using %A:~0,10% for instance to get the first 10 characters of %A%.

Here we go

set source=H:\fdw
set dest=h:\fdw\changes

for /F "tokens=*" %%A in ('dir /b %source% 2^>nul') do call :process %%A

goto end

:process

set oldname=%1
set name2=%oldname:~-10%
set newname=%name2:~0,6%_%oldname:~0,2%.PDF
echo Changing %oldname% to %newname%
xcopy %source%\%oldname% %dest%\%newname% /Y

:end
0
 
Steve KnightIT ConsultancyCommented:
You might be better off having this moved to the MS-DOS TA (http://www.experts-exchange.com/Operating_Systems/MSDOS/) if you want any more complicated batch files...
Steve
0
 
quizzerAuthor Commented:
dragon thanks for the advice.  For testing purposes I am trying to do this on my C drive for now

2 folders

source C:\TestingInfo_1 (Folder contains file named AY-Claims Detail Report - Agent 123456.pdf)
Dest C:\TestingInfo_2 (Nothing is in TestingInfo_2)

I have a .bat File named Rename.bat

Code is here
*************************
set source=C:\TestingInfo_1
set dest=C:\TestingInfo_2

for /F "tokens=*" %%A in ('dir /b %source% 2^>nul') do call :process %%A

goto end

:process

set oldname=%1
set name2=%oldname:~-10%
set newname=%name2:~0,6%_%oldname:~0,2%.PDF
echo Changing %oldname% to %newname%
xcopy %source%\%oldname% %dest%\%newname% /Y

:end
***************************
When I run the bat file it is trying to do something but nothing happens.  Any ideas???

Thanks
0
 
quizzerAuthor Commented:
I should end up with a file named

123456_AY.pdf

in the folder C:\TestingInfo_2
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now