标题: [文件操作] 【已解决】批量自动创建文件夹并移动图片(感谢:Blitz、lifei259帮助) [打印本页]
作者: zxar520 时间: 2017-11-17 05:26 标题: 【已解决】批量自动创建文件夹并移动图片(感谢:Blitz、lifei259帮助)
本帖最后由 zxar520 于 2017-11-27 19:13 编辑
手上有一批图片,文件名是5-6位数字组成,有规律的,全部是以5或6位数字组成,再全部以s结尾的图片.
如:
10000s.jpg
10014s.jpg
100214s.jpg
54214s.jpg
......
第一步:
现在需要根据图片名的数字来创建相同名称的文件夹,并把图图移到该文件夹内。文件夹只保留数字,最后那个S去掉。
对应的就是:
10000/10000s.jpg
10014/10014s.jpg
100214/100214s.jpg
54214/54214s.jpg
........
第二步:
再以这些目录为基础,创建一批目录,如5位数的创建前两位数字,6位的创建前三位数字
如:
10000->10
10014->10
100214->100 (这个是6位数的)
54214->54
然后再把对应的文件夹移到对应的目录中,
最后的结果是:
10/10000/10000s.jpg
10/10014/10014s.jpg
100/100214/100214s.jpg
54/54214/54214s.jpg
........
请高手帮个忙,我自己写了一个,但是只能实现第一步,第二步怎么也无法实现...
下面附上我的第一步代码:
@echo off
setlocal enabledelayedexpansion
for %%a in (*.jpg) do (
set "file=%%~na"
md "!file:~,5!"
move "!file:~,8!*" "!file:~,5!\"
)
这个是我抄别人的改的,不是我自己写的
在此先谢谢了!!!!
作者: Blitz 时间: 2017-11-17 08:50
- @echo off&setlocal enabledelayedexpansion
- for /f %%a in ('dir /b *.jpg') do (
- set wj=%%~na
- if "!wj:~5,1!" == "s" (md !wj:~0,2!\!wj:~0,-1!&&move "%%a" "!wj:~0,2!\!wj:~0,-1!") else md !wj:~0,3!\!wj:~0,-1!&&move "%%a" "!wj:~0,3!\!wj:~0,-1!"
- )
- pause
复制代码
作者: lifei259 时间: 2017-11-17 09:40
本帖最后由 lifei259 于 2017-11-28 15:45 编辑
- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('dir/a-d/b,*s.jpg') do (
- set "file=%%~na"
- set file=!file:s=!
- if !file! lss 100000 (
- echo,md "!file:~0,2!\!file!"
- echo,move "%%a" "!file:~0,2!\!file!"
- ) else (
- echo,md "!file:~0,3!\!file!"
- echo,move "%%a" "!file:~0,3!\!file!")
- )
- pause
复制代码
放在和图片一个文件夹,如果能用去掉echo,
作者: zxar520 时间: 2017-11-27 19:05
非常感谢,可以使用。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |