删除目录命令无法按预期工作

时间:2013-05-23 07:37:18

标签: windows command-line scripting batch-file

我有以下批处理脚本。它将C:\ Source中的数据导入C:\ MyTEST \ A \ webroot \ payrollservice。源文件夹有两个文件1. Web.config和2. Web_PROD备份。

在滚动脚本中,有一个重命名配置文件的命令。当我第一次运行脚本时,它运行正常。但是当我再次运行脚本时,文件的重命名不起作用。根本原因是remove directory命令没有删除该文件夹。需要在这里纠正什么?

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

来自Xcopy

  

/ e:复制所有子目录,即使它们是空的。

     

/ y:禁止提示您确认是否要覆盖现有目标文件。

     

/ h:复制具有隐藏和系统文件属性的文件。默认情况下,xcopy不会复制隐藏文件或系统文件。

参考

  1. Windows batch files: .bat vs .cmd?

1 个答案:

答案 0 :(得分:0)

来自rmdir

  

/ s:删除指定的目录和所有子目录,包括任何文件。使用/ s删除树。   / q:以安静模式运行rmdir。删除目录而不确认。

想出来。我需要在rmdir命令结束时使用/s /q