我想将文件重命名为其父文件夹示例:
D:\Books\PDF\medical\001\99.jpg
D:\Books\PDF\medical\002\gg.jpg
成为:
D:\Books\PDF\medical\001\001.jpg
D:\Books\PDF\medical\002\002.jpg
我知道以前问过这个问题,但我无法理解。
如果可能的话,我想把它放进去D:\Books\PDF\medical\
我想将文件重命名为其父文件夹示例:
D:\Books\PDF\medical\001\99.jpg
D:\Books\PDF\medical\002\gg.jpg
成为:
D:\Books\PDF\medical\001\001.jpg
D:\Books\PDF\medical\002\002.jpg
我知道以前问过这个问题,但我无法理解。
如果可能的话,我想把它放进去D:\Books\PDF\medical\
这很容易:
1) 在“D:\Books\PDF\medical\”中创建一个名为“myrename.bat”的新文本文件。
2)将以下内容粘贴到其中:
@echo off
pushd %~p1
for %%d in ("%CD%") do set "parentdir=%%~nd"
popd
move /Y %1 D:\Books\PDF\medical\"%parentdir%%~x1" > nul
3) 从“D:\Books\PDF\medical\”,运行批处理文件,其第一个参数是要重命名的文件的名称。例如,在您的示例中,您将对文件“gg.jpg”执行以下操作:
myrename 002\gg.jpg
这会将文件“99.jpg”重命名为“002.jpg”并将其移动到“D:\Books\PDF\medical\”。
批量%~p1
返回第一个参数的相对路径,即剥离文件夹。例如,如果您运行myrename Bla\002\gg.jpg
,%~p1
将是Bla\002
. pushd
然后进入这个目录。
该for
循环应该从当前路径中提取最后一个文件夹,由 给出%CD%
,并将 的值%CD%
分配给%%d
。该表达式%~nd
用于丢弃除最后一个文件夹名称之外的所有内容,获得的结果存储在变量 中parentdir
。popd
然后返回到原来的目录。
该move
命令既重命名文件又移动它。新文件名是 的值parentdir
和扩展名%~x1
,即原始输入文件的扩展名。
希望这可以帮助。