Batch file 批处理文件夹和子文件夹中的文件重命名将当前目录作为前缀添加到文件名

Batch file 批处理文件夹和子文件夹中的文件重命名将当前目录作为前缀添加到文件名,batch-file,for-loop,cmd,Batch File,For Loop,Cmd,我希望有一个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") 用这个 用这个

我希望有一个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")
用这个


用这个

…你就在附近。将
/s
参数添加到
dir
以包括子目录,并对
重命名
命令的文件名+扩展名使用
~nx
修饰符(
%%F
将包括路径,
重命名
与目标不一样(仅需要
文件名.扩展名


…你就在附近。将
/s
参数添加到
dir
以包括子目录,并对
重命名
命令的文件名+扩展名使用
~nx
修饰符(
%%F
将包括路径,
重命名
与目标不一样(仅需要
文件名.扩展名


我以前和现在都尝试过使用/r,但由于某些原因,什么都没有发生。CMD说系统找不到指定的文件。你能澄清一下它在你这方面的工作情况吗?也许我做错了什么?我以前和现在都用/r尝试过你的代码,但由于某种原因什么都没有发生。CMD说系统找不到指定的文件,你能澄清一下它在你这方面的工作吗?也许我做错了什么?
@echo off
for %%* in (.) do set CurrDirName1=%%~n*
FOR /r "delims=" %%F IN ('DIR /a-d /b *.*')  DO (RENAME "%%F" "%CurrDirName1%-%%F")
FOR /f "delims=" %%F IN ('DIR /s /a-d /b *.docx')  DO (RENAME "%%F" "%CurrDirName1%-%%~nxF")