批处理文件以重命名文件并提供父文件夹的名称

时间:2016-10-10 19:49:05

标签: batch-file

我有一个文件夹,其中有几百个子文件夹,每个子文件夹中只有一个文件。如何重命名这些文件并为其指定各自父文件夹的名称?我是初学者,所以对代码的解释将受到高度赞赏:)

1 个答案:

答案 0 :(得分:0)

这可能有所帮助:

@Echo Off
(Set dRoot=C:\Users\Pankan\MyDirectory)
If /I "%CD%" NEq "%dRoot%" (PushD "%dRoot%" 2>Nul||Exit/B)
For /F "Tokens=1*" %%A In ('RoboCopy /L /S /NC /NFL /NJH /NJS "%CD%" null *.*'
        ) Do If "%%A"=="1" Call :Sub "%%B"
Exit/B
:Sub
Set "pDir=%~1"
For %%A In ("%pDir:~,-1%") Do Set "nDir=%%~nxA"
For %%A In ("%~1*") Do If /I "%%~nxA" NEq "%nDir%%%~xA" Ren "%%A" "%nDir%%%~xA"

更改第二行以适应包含所有子文件夹的目录名称。

相关问题