Board logo

标题: [文本处理] 求一批处理命名文件夹内照片! [打印本页]

作者: wwddhmh    时间: 2012-11-4 21:44     标题: 求一批处理命名文件夹内照片!

本帖最后由 wwddhmh 于 2012-11-5 00:29 编辑

储存照片的 1 2 3 4...N个文件夹里有以A B C D ...... Z为名字 N 张照片。。怎么用批处理 把这1文件夹里照片命名为 1A 1B 1C ......1Z 而2文件夹里的则是2A 2B 2C ......2Z  !!
   举例说明就是。我E盘里。有以车子,美女,电脑,地方,等十几二十个文件夹。每个文件夹里面都有相关的照片,车子文件夹里有宝马。奥迪。等。N张照片。电脑文件夹里有CPU,主板,键盘 .怎么样用批处理把车子文件下的照片命名为“车子宝马”“车子奥迪”等。就是储存照片的文件夹名字+照片的名字!以此类推。电脑文件夹里的就是“电脑CPU”“电脑主板”等等。。。
作者: wwddhmh    时间: 2012-11-4 22:14

没人帮忙一下么!还是我写的不明白
作者: hlzj88    时间: 2012-11-4 22:39

ren *.jpg a*.jpg
作者: wwddhmh    时间: 2012-11-5 00:07

我是举例!!文件名字可能是其他
作者: hlzj88    时间: 2012-11-5 07:09

其实我学的也不好,但刚好自己有这么一个以前自己凑的类似的p,图片以文件夹命名,对子文件夹内的文件有效。
  1. @echo off
  2. title 图片按创建时间以文件夹名命名
  3. copy %0 图片以文件夹名命名.bat
  4. del gaiming.bat>nul 2>nul
  5. echo 程序正在疯狂工作中
  6.    >>gaiming.bat echo @echo off
  7.    >>gaiming.bat echo setlocal enabledelayedexpansion
  8.    >>gaiming.bat echo for /f "delims=" %%%%i in ('dir/b/on *.jpg') do (
  9.    >>gaiming.bat echo     set /a p+=1
  10.    >>gaiming.bat echo     set "str=%%%%~xi"
  11.    >>gaiming.bat echo     for /f "delims=" %%%%j in ("%%%%~dpi.") do (
  12.    >>gaiming.bat echo         set "str=!str:%%%%~j-=!"
  13.    >>gaiming.bat echo         if EXIST "%%%%~njA!p!!str!" (
  14.    >>gaiming.bat echo         ren "%%%%~njA!p!!str!" "%%%%~njA!p!.mcm"
  15.    >>gaiming.bat echo         ) else (
  16.    >>gaiming.bat echo         for /f "delims=" %%%%z in ('dir/b/on *.jpg') do (
  17.    >>gaiming.bat echo         ren "%%%%z" "%%%%~njA!p!.mcm")
  18.    >>gaiming.bat echo         )
  19.    >>gaiming.bat echo     )
  20.    >>gaiming.bat echo )
  21.    >>gaiming.bat echo ren *.mcm *.jpg
  22. for /d %%i in (*) do (
  23. copy /y gaiming.bat "%%i\">nul
  24. echo 正在处理 %%i
  25. ping /n 1 127.1 >nul
  26. cd "%~dp0\%%i"
  27. call gaiming.bat
  28. del gaiming.bat
  29. cd "%~dp0"
  30. set p+=0
  31. )
  32. del gaiming.bat
复制代码
大致和楼主意思,要是不能凑合,就等高人出现吧。
作者: BAT-VBS    时间: 2012-11-5 07:29

回复 5# hlzj88
  1. @echo off
  2. for /d %%a in (D:\*) do (
  3.     for /f "delims=" %%h in ('dir /s /b "%%a"') do (
  4.         ren "%%h" "%%~na%%~nh"
  5.     )
  6. )
复制代码

作者: Bearxy    时间: 2012-11-5 16:15

  1. @echo off&setlocal enabledelayedexpansion
  2. echo.按任意键开始,执行一次即可!
  3. pause>nul
  4. set str=%cd%
  5. for /f "delims=" %%a in ("!str!.$") do (
  6. set var=%%~na
  7.   echo.上级文件夹名为:!var!
  8.    for %%b in (*.jpg) do (     
  9.        ren %%b !var!_%%b
  10. ))
  11. echo._______ok!
  12. pause
复制代码
放到你所说的车子、电脑文件夹下执行,每个文件夹执行一次。。
作者: apang    时间: 2012-11-5 19:46

重命名E:盘全部jpg文件,试试
  1. @echo off
  2. for /f "delims=" %%a in ('dir /a-d /b /s "E:\*.jpg"') do (
  3.   for %%b in ("%%a\..") do ren "%%a" "%%~nxb%%~nxa"
  4. )
  5. pause
复制代码

作者: wwddhmh    时间: 2012-11-6 00:46

谢谢大家了




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2