0

I have following batch script. It takes data from C:\Source into C:\MyTEST\A\webroot\payrollservice.The source folder has two files 1. Web.config and 2. Web_PROD backup.

In the roll script there is a command to rename the config file. When I run the script first time, it is working fine. But when I run the script again , the renaming of file is not working. The root cause is that the remove directory command is not removing the folder. What need to be corrected here?

rem * STEP 1 taking backup of the folder

mkdir "C:\MyTEST\A\webroot\backup\b05232013v1\payrollservice"  
xcopy "C:\MyTEST\A\webroot\payrollservice" "C:\MyTEST\A\webroot\backup\b05232013v1\payrollservice"  /E /y /H


rem * STEP 2  remove physical folder
rmdir "C:\MyTEST\A\webroot\payrollservice"  


rem * STEP 3  create physical folder
mkdir "C:\MyTEST\A\webroot\payrollservice"  


rem * STEP 4  Copy sourcecode to Production boxes
xcopy "C:\Source" "C:\MyTEST\A\webroot\payrollservice" /E /y /H


rem * STEP 5  Rename teh config file
ren   C:\MyTEST\A\webroot\payrollservice\Web.config WebLabbackup.config 
ren   C:\MyTEST\A\webroot\payrollservice\Web_PROD.config Web.config 

pause

From Xcopy

/e : Copies all subdirectories, even if they are empty.

/y : Suppresses prompting to confirm that you want to overwrite an existing destination file.

/h : Copies files with hidden and system file attributes. By default, xcopy does not copy hidden or system files.

Reference

  1. Windows batch files: .bat vs .cmd?
Community
  • 1
  • 1
LCJ
  • 22,196
  • 67
  • 260
  • 418

1 Answers1

1

From rmdir

/s : Removes the specified directory and all subdirectories including any files. Use /s to remove a tree. /q : Runs rmdir in quiet mode. Deletes directories without confirmation.

Figured it out. I need to use /s /q at the end of rmdir command.

LCJ
  • 22,196
  • 67
  • 260
  • 418