标题: [文本处理] 求一批处理命名文件夹内照片! [打印本页]
作者: 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,图片以文件夹命名,对子文件夹内的文件有效。- @echo off
- title 图片按创建时间以文件夹名命名
- copy %0 图片以文件夹名命名.bat
- del gaiming.bat>nul 2>nul
- echo 程序正在疯狂工作中
- >>gaiming.bat echo @echo off
- >>gaiming.bat echo setlocal enabledelayedexpansion
- >>gaiming.bat echo for /f "delims=" %%%%i in ('dir/b/on *.jpg') do (
- >>gaiming.bat echo set /a p+=1
- >>gaiming.bat echo set "str=%%%%~xi"
- >>gaiming.bat echo for /f "delims=" %%%%j in ("%%%%~dpi.") do (
- >>gaiming.bat echo set "str=!str:%%%%~j-=!"
- >>gaiming.bat echo if EXIST "%%%%~njA!p!!str!" (
- >>gaiming.bat echo ren "%%%%~njA!p!!str!" "%%%%~njA!p!.mcm"
- >>gaiming.bat echo ) else (
- >>gaiming.bat echo for /f "delims=" %%%%z in ('dir/b/on *.jpg') do (
- >>gaiming.bat echo ren "%%%%z" "%%%%~njA!p!.mcm")
- >>gaiming.bat echo )
- >>gaiming.bat echo )
- >>gaiming.bat echo )
- >>gaiming.bat echo ren *.mcm *.jpg
- for /d %%i in (*) do (
- copy /y gaiming.bat "%%i\">nul
- echo 正在处理 %%i
- ping /n 1 127.1 >nul
- cd "%~dp0\%%i"
- call gaiming.bat
- del gaiming.bat
- cd "%~dp0"
- set p+=0
- )
- del gaiming.bat
复制代码
大致和楼主意思,要是不能凑合,就等高人出现吧。
作者: BAT-VBS 时间: 2012-11-5 07:29
回复 5# hlzj88 - @echo off
- for /d %%a in (D:\*) do (
- for /f "delims=" %%h in ('dir /s /b "%%a"') do (
- ren "%%h" "%%~na%%~nh"
- )
- )
复制代码
作者: Bearxy 时间: 2012-11-5 16:15
- @echo off&setlocal enabledelayedexpansion
- echo.按任意键开始,执行一次即可!
- pause>nul
- set str=%cd%
- for /f "delims=" %%a in ("!str!.$") do (
- set var=%%~na
- echo.上级文件夹名为:!var!
- for %%b in (*.jpg) do (
- ren %%b !var!_%%b
- ))
- echo._______ok!
- pause
复制代码
放到你所说的车子、电脑文件夹下执行,每个文件夹执行一次。。
作者: apang 时间: 2012-11-5 19:46
重命名E:盘全部jpg文件,试试- @echo off
- for /f "delims=" %%a in ('dir /a-d /b /s "E:\*.jpg"') do (
- for %%b in ("%%a\..") do ren "%%a" "%%~nxb%%~nxa"
- )
- pause
复制代码
作者: wwddhmh 时间: 2012-11-6 00:46
谢谢大家了
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |