标题: [文件操作] 批处理怎样把图片每4个提取放在一个文件夹? [打印本页]
作者: 朱科技 时间: 2021-5-14 23:54 标题: 批处理怎样把图片每4个提取放在一个文件夹?
本帖最后由 朱科技 于 2021-6-6 16:04 编辑
6月6日更新:
文件夹内有若干图片,按这些图片排列的先后顺序(不按扩展名)每4个提取放在一个文件夹,文件夹以1开始递增的顺序命名,如何实现啊
作者: xp3000 时间: 2021-5-15 00:11
- @echo off&setlocal enabledelayedexpansion
- set m=1
- (for %%a in (*.jpg *.png *.bmp) do (
- set/a "n+=1,1/(4*m-n+1)"||(set/am+=1)
- md !m!&move "%%a" .\!m!\
- ))2>nul
复制代码
论坛似乎很多分组的
作者: qixiaobin0715 时间: 2021-5-16 10:32
分组相对简单,顺序要复杂一些。按文件名、文件大小、时间、扩展名等。比如楼上代码是按扩展名的顺序来的
作者: 朱科技 时间: 2021-5-16 15:45
回复 2# xp3000
谢谢,实现了
作者: netdzb 时间: 2021-5-19 03:14
回复 1# 朱科技
这个批处理脚本还是很有实用性的。
作者: newswan 时间: 2021-5-19 13:36
- if %n%==4 ( set n=1 ) else ( set /a n+=1 )
复制代码
作者: qixiaobin0715 时间: 2021-5-21 10:33
- @echo off
- setlocal enabledelayedexpansion
- for %%a in (*.jpg) do (
- set /a n+=1
- set /a "m=(n-1)/4+1"
- if not exist !m! md !m!
- move "%%a" "!m!"
- )
- pause
复制代码
作者: 朱科技 时间: 2021-6-6 16:03
回复 3# qixiaobin0715
按排列顺序能行吗,不按扩展名
作者: 朱科技 时间: 2021-6-6 16:06
回复 2# xp3000
如果我的文件名是1,2,3,4,5,6,7,8,9,10,提取4个一组时排列时候就错位了,成了(1,10,11,12),我想1,2,3,4这样提取4个一组
作者: went 时间: 2021-6-6 17:21
回复 9# 朱科技 - powershell -c "Get-ChildItem *.jpg | Group-Object {[System.Math]::Ceiling($_.BaseName/4)} | foreach{$f = $_.Name;$_.Group | foreach {[void][System.IO.Directory]::CreateDirectory($f);$_.MoveTo($f + '\' + $_.Name)}}"
复制代码
作者: xp3000 时间: 2021-6-6 18:38
- @echo off&setlocal enabledelayedexpansion
- for /f "tokens=1,* delims=:" %%a in ('dir /b/a-d/on *.jpg^|findstr /n .') do (set x=%%a)
-
- set m=1
- for /l %%i in (1 1 !x!) do (
- set/a "n+=1,1/(4*m-n+1)" 2>nul||(set/am+=1)
- md !m!&move "%%i.jpg" .\!m!\
- )
- pause
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |