Board logo

标题: [文件操作] [已解决]批处理 怎样提取文件到另一个文件夹? [打印本页]

作者: 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

  1. @echo off
  2. setlocal
  3. set "SrcFolder=A"
  4. set "DstFolder=B"
  5. :input
  6. set /p N=请输入每个文件夹分配的文件个数:
  7. echo %N%|findstr /x "[0-9][0-9]*" >nul || goto input
  8. title 处理中...
  9. dir /b "%SrcFolder%" >..list
  10. (
  11.     for /d /r "%DstFolder%\" %%a in (*) do (
  12.         set Folder=%%a
  13.         for /l %%n in (1 1 %N%) do (
  14.             set /p File=
  15.             setlocal enabledelayedexpansion
  16.             move "!SrcFolder!\!File!" "!Folder!"
  17.             endlocal
  18.         )
  19.     )
  20. ) <..list
  21. del ..list
  22. title 完成
  23. 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