标题: [文件操作] [已解决]批处理 怎样提取文件到另一个文件夹? [打印本页]
作者: dan5262 时间: 2011-7-27 13:05 标题: [已解决]批处理 怎样提取文件到另一个文件夹?
A文件夹 和 B文件夹处于同一级.
A文件夹下有几千个文件, B文件夹下有M个子文件夹(子文件夹可能是空文件夹也可能不是空的)
怎样每次从A文件夹下提取N个文件到B文件夹下的一个子文件夹中,直到提取M次,实现M个子文件夹中都被提取进N个不同的文件.
------------------------------------------------------------------------------------------------------------------------------
举例: A文件夹中保证有足够的文件数.
若N值取3, 则
第一次从A文件夹中提取3个文件到B中的任一个子文件夹中,然后删除被提取过的这3个文件.
第二次从A文件夹中提取3个文件到另一个子文件夹中,然后删除被提取过的这3个文件.
........
第M次从A文件夹中提取3个文件到另一个子文件夹中,然后删除被提取过的这3个文件.
操作完毕.
谢谢.
作者: tmplinshi 时间: 2011-7-27 16:28
这个次数是怎么计算的?是你运行 M 次批处理吗?
N 的值从哪里来?在批处理里面定义,还是提示进行输入?
作者: dan5262 时间: 2011-7-27 23:40
这个次数是怎么计算的?是你运行 M 次批处理吗?
N 的值从哪里来?在批处理里面定义,还是提示进行输入?
tmplinshi 发表于 2011-7-27 16:28
一次运行处理M次。
N 的值提示进行输入
谢谢。
作者: dan5262 时间: 2011-8-2 19:03
求助,谢谢.
作者: tmplinshi 时间: 2011-8-2 20:13
- @echo off
- setlocal
-
- set "SrcFolder=A"
- set "DstFolder=B"
-
- :input
- set /p N=请输入每个文件夹分配的文件个数:
- echo %N%|findstr /x "[0-9][0-9]*" >nul || goto input
-
- title 处理中...
-
- dir /b "%SrcFolder%" >..list
-
- (
- for /d /r "%DstFolder%\" %%a in (*) do (
- set Folder=%%a
- for /l %%n in (1 1 %N%) do (
- set /p File=
- setlocal enabledelayedexpansion
- move "!SrcFolder!\!File!" "!Folder!"
- endlocal
- )
- )
- ) <..list
-
- del ..list
-
- title 完成
- pause
复制代码
作者: dan5262 时间: 2011-11-24 21:51
谢谢斑竹,成功.
作者: dan5262 时间: 2011-12-16 16:50
tmplinshi 发表于 2011-8-2 20:13
能不能改成 随机 提取? 其他条件不变。
谢谢。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |