标题: [文本处理] [已解决]批处理给图片加随机数字的前缀 [打印本页]
作者: 星麟 时间: 2015-8-26 17:51 标题: [已解决]批处理给图片加随机数字的前缀
本帖最后由 星麟 于 2015-8-26 18:36 编辑
我想要的效果是,重命名把图片文件打乱一下,但保留原来的名字,只是加一个前缀 列如 ”1-IMG_3113.jpg“ ”2-IMG_3241.jpg“ ,如果可以做到第二次执行的话,图片再重新打乱,再改一下前缀,下面两个代码看看能不能借鉴- @echo off
- for /f "delims=" %%i in ('dir /a-d/b/s *.jpg*') do (
- if not "%%i"==%0 ren "%%i" "c-%%~nxi")
- echo 命名完毕
- pause
复制代码
这是给图片文件加了一个“C-”的前缀- @echo off&setlocal EnableDelayedExpansion
- set n=0
- for /f "delims=" %%i in ('dir /b *.jpg') do ren "%%i" "R%%~ni%%~xi"
- for /f "delims=" %%i in ('dir /b *.jpg') do set /a n+=1
- for /f "delims=" %%i in ('dir /b *.jpg') do (
- call:RR
- ren "%%i" "!R!%%~xi"
- )
- exit
- :RR
- set /a R=%random%%%n%+1
- if !R!==!W%R%! Goto:RR
- set /a W!R!=!R!
- Goto:eof
复制代码
这是所有的图片随机重命名,随机按顺序排列,原来的名字改了
作者: bailong360 时间: 2015-8-26 18:25
- @echo off
- setlocal enabledelayedexpansion
- ::CODE BY zhonghua POWERD BY Emacs 24.5.1
- for /f "delims=" %%i in ('dir /a-d /b *.jpg^|shuf') do (
- set /a n+=1
- set "FileName=%%i"
- ren "%%i" "!n!-!FileName:*-=!"
- )
复制代码
第三方:shuf
作者: pcl_test 时间: 2015-8-26 19:31
本帖最后由 pcl_test 于 2015-8-26 22:42 编辑
不是很严谨的一种方法- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('dir /b *.jpg') do (
- set "fn=%%~na"
- set /a a=!random!%%900+100,b=!random!%%900+100,n+=1
- set "#!a!!b!ж!fn!=%%a"
- if "!fn:~,1!" equ "Ω" set/a m+=1
- )
- for /f "tokens=2* delims=ж=" %%i in ('set #') do (
- set "fn=%%j"
- set /a t+=1
- if "!n!" equ "!m!" (
- ren "%%j" "Ω!t!-!fn:*-=!"
- ) else ren "%%j" "Ω!t!-%%j"
- )
- pause
复制代码
bat+js,保存为bat文件运行- 1>1/* :
- @echo off
- dir /b *.jpg|cscript -nologo -e:jscript "%~f0"
- pause & exit/b
- */
-
- var fso = new ActiveXObject("Scripting.FileSystemObject");
- var arr = WScript.StdIn.ReadAll().split(/\r?\n/);
- arr.sort(function(){return Math.random()>0.5?-1:1;});
- for(var i=0;i<arr.length;i++){
- var j=i+1
- if (arr[i].substr(0, 1)!='ж'){
- fso.MoveFile(arr[i],'ж'+j+'-'+arr[i]);
- } else fso.MoveFile(arr[i],'ж'+j+'-'+arr[i].replace(/^[^\-]+-/,''));
- }
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |