找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27842|回复: 6

[文件操作] [已解决]批处理 怎样提取文件到另一个文件夹?

[复制链接]
发表于 2011-7-27 13:05:24 | 显示全部楼层 |阅读模式
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个文件.
操作完毕.
谢谢.
发表于 2011-7-27 16:28:16 | 显示全部楼层
这个次数是怎么计算的?是你运行 M 次批处理吗?
N 的值从哪里来?在批处理里面定义,还是提示进行输入?
 楼主| 发表于 2011-7-27 23:40:26 | 显示全部楼层
这个次数是怎么计算的?是你运行 M 次批处理吗?
N 的值从哪里来?在批处理里面定义,还是提示进行输入?
tmplinshi 发表于 2011-7-27 16:28



    一次运行处理M次。
  N 的值提示进行输入


谢谢。
 楼主| 发表于 2011-8-2 19:03:00 | 显示全部楼层
求助,谢谢.
发表于 2011-8-2 20:13:02 | 显示全部楼层
  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
复制代码
 楼主| 发表于 2011-11-24 21:51:43 | 显示全部楼层
谢谢斑竹,成功.
 楼主| 发表于 2011-12-16 16:50:51 | 显示全部楼层
tmplinshi 发表于 2011-8-2 20:13


能不能改成 随机 提取? 其他条件不变。

谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 12:45 , Processed in 0.018606 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表