批处理程序来重命名和删除文件

我试图检查是否有任何带* .del扩展名的文件在c:\ temp1目录中。 如果find了,我需要将这些文件重命名为.done在同一个x目录下,并删除y目录下的同一个文件,但是它们会有.gz扩展名,请build议。 我正在使用下面的脚本,但是当我运行它时,它说没有find文件。

Inputfilename : 20130216.001_visual_sciences_web_feed.out.del Renamedfilename: 20130216.001_visual_sciences_web_feed.out.done Filetobedeleted: 20130216.001_visual_sciences_web_feed.out.gz 

剧本:

 @echo off set "dir=c:\raja\temp1" set "ext=del" set "rename=.done" for /f "delims=" %%a in ('dir /b /ad /s "%dir%\*.%extension%"^|sort /r') do ( echo FILE: %%~fa call :rename "%%~fa" ) pause goto :eof 

请提出解决scheme。

 for %%a in ("c:\raja\temp1\*.del") do ( ren "%%~fa" *.done >nul if exist "c:\temp2\%%~na.gz" del "c:\temp2\%%~na.gz" >nul ) 

对于源文件中带有.del扩展名的每个文件,重命名为.done,并且如果具有相同名称和.gz扩展名的文件存在(在temp2中,则来自注释),请将其删除