[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
即,
第一次从A中剪切N个文件到B中的任一子文件夹,
第二次从A中剪切N个文件到B中的另一子文件夹,
直到每个子文件夹都被剪切到N个文件

A中文件数保证有足够文件数.

TOP

谢谢,  测试没成功.  可能我的描述不清楚.

我换个描述,最终的效果类似:从A文件夹中随机剪切N个文件到B文件夹的任一子文件夹中,直到每个子文件夹都被剪切到N个文件.

TOP

本帖最后由 jellyhk 于 2011-12-16 11:12 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('dir /ad /b /s B\*') do (
  4. set /a a+=1
  5. set !a!=%%a
  6. echo !a!=%%a
  7. )
  8. set /p n=请输入
  9. set /a aa=!n!*!a!
  10. for /f "delims=" %%a in ('dir /a-d /b /s A\*.*') do (
  11. set /a b+=1
  12. set /a c+=1
  13. if "!c!" gtr "!a!" set c=1
  14. call :a "%%a"
  15. if !b! == !n! pause&exit
  16. )
  17. :a
  18. move %1 "!%c:"=%!"
  19. goto :eof
复制代码
这样不知道行不!请看到6楼的问题会的帮忙解惑!
本人已死!不用联系!~
要联系下来联系!~~

TOP

本帖最后由 jellyhk 于 2011-12-16 11:03 编辑

3楼!
1:为什么3楼的18行代码中的"!%c:"=%!"就变成文件夹了呢?
2:为什么要这么写呢?好象!%c%!也行为什么要多   “=
3:第10行的dir /a-d /b /s A *.*  不能写成dir /a-d /b /s A\*.*
本人已死!不用联系!~
要联系下来联系!~~

TOP

不知道这样子行不?
BS0小陈 发表于 2011-12-15 11:06



    谢谢.
用少量文件测试成功.

当A样本用10000个文件, B样本用200个子文件夹时,
输入N值后, 运行BAT,很久没有反应.
N取1也没反应.

XP 双核 2G

谢谢.

TOP

不理解!
是从A文件夹下提取任意一个文件到b任意一个文件夹?
第2次的时候是不是就不能提取文件到上面那个 ...
jellyhk 发表于 2011-12-15 10:37



    不理解!
1.是从A文件夹下提取任意一个文件到b任意一个文件夹?
2.第2次的时候是不是就不能提取文件到上面那个文件夹了?是不是说每个文件夹都要从A下提取一个文件过来!
3.----------另外文件是一样的吗?都是txt或其他?
4.--------A文件夹是固定叫A吗?B文件夹是叫B么》?

-----------------------------------------------------------------

1.是任意提取,也可以按名称排列,依次提取. 速度优先.
2.每从A中提取出一个就删除一个,以免提取到重复文件. 每个文件夹-每轮都要提取到一个文件,共提取N轮.  最终的结果是B中的每个文件夹都提取到N个文件.
3. 文件可能是一样的,也可能不一样.   有TXT HTML或 MHT
4.是固定的.  

谢谢.

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('dir /ad /b /s B\*') do (
  4. set /a a+=1
  5. set !a!=%%a
  6. echo !a!=%%a
  7. )
  8. set /p n=请输入
  9. set /a aa=!n!*!a!
  10. for /f "delims=" %%a in ('dir /a-d /b /s A *.*') do (
  11. set /a b+=1
  12. set /a c+=1
  13. if "!c!" gtr "!a!" set c=1
  14. call :a "%%a"
  15. if "!b!"=="!aa!" pause&exit
  16. )
  17. :a
  18. move %1 "!%c:"=%!"
  19. goto :eof
复制代码
不知道这样子行不?
1

评分人数

    • jellyhk: 感情好把自己都搞进去了!呵呵技术 + 1

TOP

本帖最后由 jellyhk 于 2011-12-15 10:40 编辑

不理解!
是从A文件夹下提取任意一个文件到b任意一个文件夹
第2次的时候是不是就不能提取文件到上面那个文件夹了?是不是说每个文件夹都要从A下提取一个文件过来!
----------另外文件是一样的吗?都是txt或其他?
---------A文件夹是固定叫A吗?B文件夹是叫B么》?
本人已死!不用联系!~
要联系下来联系!~~

TOP

返回列表