bat:遞迴重命名文件

bat:遞迴重命名文件

我想將某個分割區中的所有 *.doc 檔案遞歸重命名為 *.txt。我嘗試過以下方法但沒有成功...

@echo off
echo +-------------------------------------------+
echo :         exec cmd in every subdir          :
echo +-------------------------------------------+

FOR /R ".\" %%F IN (.) DO (
    ren "*.doc" "*.txt"
)

@pause

我究竟做錯了什麼?


更新:這對我有用...... 我透過點擊 MS 文件資源管理器 (Win7) 中的文件來運行此文件,並將 .bat 設定為可執行文件。我沒有嘗試使用 cmd 提示符號 - 我想知道這是否會導致差異?

@echo off

FOR /R ".\" %%F IN (.) DO (
 ren "%%F\*.doc" "*.txt"
)
@pause

答案1

批次檔中有幾個小錯誤。

這是一個可以從命令列運行的版本:

FOR /R "." %F IN (.) DO ren "%F\*.doc" "*.txt"

並在一個.bat文件中:

FOR /R "." %%F IN (.) DO ren "%%F\*.doc" "*.txt"

在 Windows 7 64 位元上測試:

在此輸入影像描述

相關內容