|
crazysakura
初级用户
积分 82
发帖 46
注册 2008-8-15
状态 离线
|
『楼 主』:
[求助]如何分类文件到不同的文件夹中?
有一个文件夹《内有一百多张的JPG的图片)
我想让它们自动的,以三十个为一个文件夹的分开
全部命名有规律的
前面还有东西
例如:
山东1
山东2
..
....
不管是VBS还是BAT还是什么办法(我现有的工具就是记事本)。。。。帮我
──────────────────── 版务记录 ─────────────────────
标题:急求帮忙中》在线等---------------
处罚:因在限定之日内未及时修改主题标题,现强制修改标题,并处扣除8点积分以示警告。
执行:lxmxn
──────────────────── 版务记录 ─────────────────────
[ Last edited by lxmxn on 2008-10-7 at 10:25 ]
此帖被 -12 点积分 点击查看详情 评分人:【 pooronce 】 | 分数: -4 | 时间:2008-10-6 21:17 | 评分人:【 lxmxn 】 | 分数: -8 | 时间:2008-10-7 10:26 |
|
|
|
2008-10-2 21:23 |
|
|
crazysakura
初级用户
积分 82
发帖 46
注册 2008-8-15
状态 离线
|
『第
2 楼』:
有个,可是不是这种效果
可以参考下
for /f "delims=" %%i in ('dir /a-d /b *.jpg') do (md "%%~ni"&move "%%i" "%%~ni")
|
|
2008-10-2 21:58 |
|
|
crazysakura
初级用户
积分 82
发帖 46
注册 2008-8-15
状态 离线
|
『第
3 楼』:
@echo off
dir /a-d /b >name.txt
set m=0
set file=0
for /f %%c in (name.txt) do (
set /a m+=1
md %file%
if m%30=0 set /a file+=1
copy %%a %file%
)
语法肯定有错误,思路应该就这样了...谁能改一下...能力有限
|
|
2008-10-2 22:15 |
|
|
crazysakura
初级用户
积分 82
发帖 46
注册 2008-8-15
状态 离线
|
『第
4 楼』:
for /f "delims=" %%i in ('dir /a-d /b *.jpg') do (md "%%~ni"&move "%%i" "%%~ni")
这段已经做到了
把每一个文件以它的名字建立一个文件夹,并且放进去
我要的是以数量,,,三十个JPG文件为一个单位
|
|
2008-10-2 22:17 |
|
|
crazysakura
初级用户
积分 82
发帖 46
注册 2008-8-15
状态 离线
|
『第
5 楼』:
@echo off
for /f "delims=" %%i in ('dir/b "C:\Documents and Settings\Administrator\桌面\test\*.jpg"') do (
set/a n=%%i/30,n+=1
ECHO %%i %%n
)
pause
SLORe 给的一个例子,(我能力有限没有看明白)
|
|
2008-10-2 23:02 |
|
|
crazysakura
初级用户
积分 82
发帖 46
注册 2008-8-15
状态 离线
|
『第
6 楼』:
@echo off
setlocal enabledelayedexpansion
for %%a in (*.jpg) do (
set /a "n+=1"
set "m=000!n!"
ren "%%a" 山东!m:~-3!.jpg
)
for %%a in (*.jpg) do (
set /a "nn+=1"
set "_!nn!=%%a"
if "!nn!"=="30" (
set /a "mm+=1"&set "nn=0"
md !mm! 2>nul
for /l %%i in (1 1 30) do (move /y !_%%i! !mm!)
)
)
set /a "mm+=1"
md %mm% 2>nul
move /y *.jpg %mm%
已经成功
感谢:QQ:526620986《浩宇微尘》ID:moniuming
|
|
2008-10-2 23:13 |
|
|
slore
铂金会员
积分 5212
发帖 2478
注册 2007-2-8
状态 离线
|
『第
7 楼』:
。。。那个不是我的“例子”哦
。。。。
我给的例子是这样的…………
@echo off
for /l %%i in (1,1,100) do (
set/a n=%%i/30,n+=1
call echo %%n%%
)
pause
|
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore |
|
2008-10-2 23:18 |
|
|
Evangel
初级用户
积分 145
发帖 95
注册 2008-4-12
状态 离线
|
|
2008-10-2 23:29 |
|
|
hackate
中级用户
积分 228
发帖 125
注册 2008-8-25
状态 离线
|
『第
9 楼』:
@echo off
setlocal enabledelayedexpansion
for %%a in (*.jpg) do (
set /a "n+=1"
set "m=000!n!"
ren "%%a" 山东!m:~-3!.jpg
)
for %%a in (*.jpg) do (
set /a "nn+=1"
set "_!nn!=%%a"
if "!nn!"=="31" (
set /a "mm+=1"&set "nn=0"
md !mm! 2>nul
for /l %%i in (1 1 30) do (move /y !_%%i! !mm!)
)
)
set /a "mm+=1"
md %mm% 2>nul
move /y *.jpg %mm%
将30改为31
这样呢,你的文件如果正好是30个或者是60个,也就是30的倍数的话呢,你就会多创建出一个文件夹,利用31这个巧妙的多出一个数字正好可以解决这个问题,呵呵..因为
for /l %%i in (1,1,30)照样取的是30个,所以.
|
|
2008-10-3 14:14 |
|
|
crazysakura
初级用户
积分 82
发帖 46
注册 2008-8-15
状态 离线
|
|
2008-10-3 21:51 |
|
|
crazysakura
初级用户
积分 82
发帖 46
注册 2008-8-15
状态 离线
|
『第
11 楼』:
我想要这个代码的注释
for %%a in (*.jpg) do ( \\找出与有的jpg的文件,传递到变量%%a上
set /a "n+=1" \\ 设置(后面的不明白了)
set "m=000!n!" \\ 设置m等于(后面的不明白了)
ren "%%a" 山东!m:~-3!.jpg \\ 改名字这是 改%%a 的名字(后面的不明白了)
)
for %%a in (*.jpg) do ( \\ 找出与有的jpg的文件,传递到变量%%a上
set /a "nn+=1" \\ 设置(后面的不明白了)
set "_!nn!=%%a" \\ 设置(后面的不明白了)
if "!nn!"=="30" ( \\ 如果"!nn!"(这是什么意思我也不明白)等于30(后面的不明白了)
set /a "mm+=1"&set "nn=0" \\设置????????然后设置 "nn=0"
md !mm! 2>nul \\建立 !mm!至于!mm! 是啥我也不明白
for /l %%i in (1 1 30) do (move /y !_%%i! !mm!)
\\for 里面的/l我还没明白 但是建立30个文件夹这是.然后move 到!mm!里)
)
)
set /a "mm+=1" /设置不明白
md %mm% 2>nul /建立%MM% 不明白为何要 2>nul
move /y *.jpg %mm% /MOVE 全部的jpg 到%MM% 这个%MM%是什么量我还没明白
以上是我能力以内的理解。不只哪有错。。。希望大家给补上
|
|
2008-10-3 22:11 |
|
|
slw218856
初级用户
积分 133
发帖 75
注册 2008-8-3
状态 离线
|
『第
12 楼』:
set /a "n+=1" 为何后面的计算式要加引号。
请在线朋友帮解答
|
|
2008-10-6 19:04 |
|
|
HAT
版主
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
13 楼』:
Re 12楼
这里的引号是没有必要的
|
|
|
2008-10-6 20:56 |
|