[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

Batch file command to find and rename folders

Posted on 2015-01-12
27
Medium Priority
?
209 Views
Last Modified: 2015-01-14
See attached.  Need a couple of batch file commands:
1.  find and rename all folders found meeting the criteria
2.  a second batch command file to delete all occurences.
Better explained in attached.batch-help.doc
0
Comment
Question by:HFSCI
  • 14
  • 13
27 Comments
 
LVL 25

Expert Comment

by:NVIT
ID: 40545351
To rename CUR to HOLD:
Note: Remove echo prefix to run for real.
@echo off

pushd c:\users

for /d %%a in (*.*) do (
  echo if exist "%%a\profile_backup\%acur\nul" ren "%%a\profile_backup\%%acur" "%%a\profile_backup\%aold"
)
popd

Open in new window


To delete HOLD:
Note: Remove echo prefix to run for real.
@echo off

pushd c:\users

for /d %%a in (*.*) do (
  echo if exist "%%a\profile_backup\%%ahold\nul" rd /s /q "%%a\profile_backup\%%ahold"
)
popd

Open in new window

0
 

Author Comment

by:HFSCI
ID: 40546539
Tried the below for the first part and it did not work:
ren the below is the drive of the user list
pushd E:\WWT\Home\FortMyers

for /d %%a in (*.*) do (if exist "%%a\profile_backup\%acur\nul" ren "%%a\profile_backup\%%acur" "%%a\profile_backup\%aold")
0
 
LVL 25

Expert Comment

by:NVIT
ID: 40546717
Can you post the ECHO method results similar to how I had it?
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 

Author Comment

by:HFSCI
ID: 40546889
The results are attached.  I only have two setup with cur to test renaming them so as not to effect all of them.
batch-results.docx
0
 
LVL 25

Expert Comment

by:NVIT
ID: 40547118
My bad. For the first part, %a should be %%a:
echo if exist "%%a\profile_backup\%%acur\nul" ren "%%a\profile_backup\%%acur" "%%a\profile_backup\%%aold"

Open in new window

0
 

Author Comment

by:HFSCI
ID: 40547163
sorry but still didn't change the folder.  See attached for info
batch-result2.docx
0
 
LVL 25

Expert Comment

by:NVIT
ID: 40547208
First, please change \NULL to \NUL:

Other than that, it seems to be working. The ECHO is for debugging purposes and provides  visual confirmation only. To run it for real, remove the ECHO prefix as I mentioned originally.
0
 

Author Comment

by:HFSCI
ID: 40547275
sorry but still did not change maleyecur folder to maleyeold folder.  See attached
batch-result3.docx
0
 
LVL 25

Expert Comment

by:NVIT
ID: 40547288
Are you getting errors?
Please post the ECHO results
0
 

Author Comment

by:HFSCI
ID: 40547292
no errors shown the results are the same as shown in batchresult2 attachment
0
 
LVL 25

Expert Comment

by:NVIT
ID: 40547307
You need to remove the ECHO to run it for real, i.e. rename the folders:
echo if exist "%%a\profile_backup\%%acur\nul" ren "%%a\profile_backup\%%acur" "%%a\profile_backup\%%aold"

Open in new window

becomes...

if exist "%%a\profile_backup\%%acur\nul" ren "%%a\profile_backup\%%acur" "%%a\profile_backup\%%aold"

Open in new window

0
 

Author Comment

by:HFSCI
ID: 40547336
Below is my batch and it still did not rename the folder and there were no erros and attached the cmd window.  I manually went to the folder in the cmd window and renamed it from cur to old so know its not a permissions issue.


rem the below is the drive of the user list
pushd E:\WWT\Home\FortMyers

for /d %%a in (*.*) do (if exist "%%a\profile_backup\%%acur\nul" ren "%%a\profile_backup\%%acur" "%%a\profile_backup\%%aold")

pause
batch-result4.docx
0
 
LVL 25

Expert Comment

by:NVIT
ID: 40547394
My apologies. I was ahead of myself. Try this:
for /d %%A in (*.*) do (
      if exist "%%A\profile_backup\%%Acur" (
            pushd "%%A\profile_backup"
            ren %%Acur %%Aold
            popd
      )
)
0
 

Author Comment

by:HFSCI
ID: 40547414
sorry but where do I put that in the existing batch file?
0
 
LVL 25

Expert Comment

by:NVIT
ID: 40547421
Here's the whole thing:
@echo off

pushd c:\users

for /d %%A in (*.*) do (
  if exist "%%A\profile_backup\%%Acur" (
    pushd "%%A\profile_backup"
    ren %%Acur %%Aold
    popd
  )
)
popd

Open in new window

0
 

Author Comment

by:HFSCI
ID: 40547477
see attached as it gives path error
batch-result5.docx
0
 
LVL 25

Expert Comment

by:NVIT
ID: 40547575
Are you running the commands inside the FOR loop on one line? Don't you want to use what I gave you?
0
 
LVL 25

Expert Comment

by:NVIT
ID: 40547592
Here's a simpler one:
@echo off
pushd c:\users
for /d %%A in (*.*) do (
  if exist "%%A\profile_backup\%%Acur" ren "%%A\profile_backup\%%Acur" %%Aold
)
popd

Open in new window

0
 

Author Comment

by:HFSCI
ID: 40547601
Sorry, I am confused on what you are asking.  The last attachment shows you the batch file I used which I thought was using the FOR loop.  The result picture was just showing the btch run and I only have 2 folders that actually meet the criteria usernamecur and that's only for testing purposes.  they all will eventually have a cur folder.  So the batch_result5 attachment above shows it going thru each folder but when it does find a usernamecur it errors about the path.
0
 
LVL 25

Expert Comment

by:NVIT
ID: 40547620
Please run the last post.
0
 

Author Comment

by:HFSCI
ID: 40547622
no errors but did not rename.  see attached
batch-result6.docx
0
 
LVL 25

Expert Comment

by:NVIT
ID: 40547658
My last post doesn't have the NUL
0
 

Author Comment

by:HFSCI
ID: 40547665
Great News it worked.  You are my new Hero.  I will try the delete portion tomorrow and let you know
0
 
LVL 25

Accepted Solution

by:
NVIT earned 2000 total points
ID: 40547670
For the delete portion, don't use the original post, which has the NUL. Instead, use this one:
@echo off
pushd c:\users
for /d %%a in (*.*) do (
  if exist "%%a\profile_backup\%%ahold" rd /s /q "%%a\profile_backup\%%ahold"
)
popd

Open in new window

0
 

Author Comment

by:HFSCI
ID: 40548816
Just wanted to say thanks for all your help and patience.  Will now accept your solution
0
 

Author Closing Comment

by:HFSCI
ID: 40548825
Exceptional help and patience.  Expert explained the process which also helped in understanding the solution
0
 
LVL 25

Expert Comment

by:NVIT
ID: 40549265
Hi HFSCI...
Thanks for the quick update. I'm glad it eventually worked for you. Thanks for your patience, too!
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

If you’re thinking to yourself “That description sounds a lot like two people doing the work that one could accomplish,” you’re not alone.
Q&A with Course Creator, Mark Lassoff, on the importance of HTML5 in the career of a modern-day developer.
With the power of JIRA, there's an unlimited number of ways you can customize it, use it and benefit from it. With that in mind, there's bound to be things that I wasn't able to cover in this course. With this summary we'll look at some places to go…
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

834 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question