【发布时间】:2015-03-29 09:35:26
【问题描述】:
我正在尝试重命名位于 e:\study\pubpmc\test\extracted 的多个子目录之一中的 .jpg 文件。
我想将文件重命名为 LastFolderName_ImageName.jpg。 (例如,如果 Figure1.jpg 在 e:\study\pubpmc\test\extracted\folder1 我希望它像这样重命名:folder1_Figure1.jpg)
所以我需要从文件路径中取出最后一个文件夹名称。 因为这是我第一次使用批处理脚本,所以我很难过。
我用谷歌搜索并制作了类似的代码 但似乎没有成功。
你能帮我解决一下,告诉我哪里做错了吗? 谢谢! :)
@echo off
cd /D "e:\study\pubpmc\test\extracted"
for /r %%f in (*.jpg) do (
set mydir=%%~dpf
set mydir=%mydir:\=;%
for /f "tokens=* delims=;" %%i in (%mydir%) do call :LAST_FOLDER %%i
goto :EOF
:LAST_FOLDER
if "%1"=="" (
@echo %LAST%
goto :EOF
)
set LAST=%1
SHIFT
goto :LAST_FOLDER
)
【问题讨论】:
标签: batch-file