我想有一个Windows批处理文件,它为批处理文件所在的同一级别的所有文件和子文件夹中的所有文件提供前缀。前缀是包含批处理文件的文件夹名称。我有一个工作代码,但它只在同一文件夹级别重命名docx文件。
@echo off
for %%* in (.) do set CurrDirName1=%%~n*
FOR /f "delims=" %%F IN ('DIR /a-d /b *.docx') DO (RENAME "%%F" "%CurrDirName1%-%%F")
答案 0 :(得分:1)
@echo off
for %%* in (.) do set CurrDirName1=%%~n*
FOR /r "delims=" %%F IN ('DIR /a-d /b *.*') DO (RENAME "%%F" "%CurrDirName1%-%%F")
使用此
答案 1 :(得分:1)
...你就在附近。将/s
参数添加到dir
以包含子目录,并使用~nx
修饰符作为rename
命令的文件名+扩展名(%%F
将包含路径和{{ 1}}不喜欢目的地(只需要rename
))。
filename.extension