是否可以创建一个批处理文件来删除所有出现的 .txt 扩展名实例?我尝试了以下方法,但对我不起作用。
for f in *.txt; do mv -- "$f" "${f%.txt}"; done
谢谢您的帮助!
答案1
这确实是一个危险的命令......随意重命名树中的东西......如果使用不当,它会让你不高兴。
这是一个简单的批处理文件,它使用函数来完成您的要求。您将echo
在重命名行中找到一个命令,这样您就不会意外重命名您不想重命名的内容。准备好后,删除echo
并让它撕掉。
也可以不使用函数和EnableDelayedExpansion
命令来完成此操作(但我不喜欢这样做)。我发现函数语法更具可读性。
@echo off
for /f "delims=" %%f in ('dir /s /b *.txt') do call :rename_textfile "%%f"
goto :EOF
:rename_textfile
:: remove the echo command below when it works like you want it to.
echo rename "%~1" "%~dpn1"
goto :EOF