我想将文件重命名为其父文件夹示例:
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,即原始输入文件的扩展名。
希望这可以帮助。