2012-07-13 237 views
0

我要重命名使用此命令在一个目录下的文件:Windows批处理:重命名文件,并替换已存在文件名

for /r %%x in (*.ath) do ren "%%x" *.txt 

的问题是如果文件已经存在,该文件将不被替换。 有没有简单的方法来删除旧文件,然后重新命名新文件? 感谢

+0

使用'move',而不是'ren'。 – Ben 2012-07-13 09:12:29

回答

1

为了详细说明@奔的评论使用

for /r %%x in (*.ath) do move "%%x" "%%~nx.txt" /y 
+0

对于/ *%x在(* .ath)中执行移动/ Y“%x”* .txt ==>“文件名,目录名称或卷标语法不正确”不起作用 使用移动/ Y文件.txt file.ath ==>此作品 似乎不接受*字符 – Morti 2012-07-24 12:15:10

+0

@Morti你说得对,'移动'不支持通配符,我不知道。我已经修复了我的答案,所以它会像'*'那样工作。 – 2012-07-24 12:43:42