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

[文件操作] [已解决]批处理随机移动文件

[复制链接]
发表于 2015-5-14 13:18:01 | 显示全部楼层 |阅读模式
本帖最后由 honghong33 于 2015-5-23 19:28 编辑

有a、b两个文件夹,a中存在若干不同格式的文件,b文件夹下有很多文件夹,要求把a中的文件随机复制到b中,复制数量在5-10之间。
发表于 2015-5-14 14:04:36 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /a sjs=5+%random% %% 5
  4. :#
  5. for /r a\ %%a in (*.*) do (
  6.    if !random! gtr 100 (
  7.      for /r b\ %%b in (.) do (
  8.         if !random! lss 50 (
  9.                    copy /y %%a %%b
  10.            set/a n+=1
  11.                   )
  12.        )
  13.      )
  14.    )
  15. if !n! leq !sjs! goto #
  16. echo,共随机复制!n!个文件
  17. pause
复制代码
 楼主| 发表于 2015-5-14 21:43:41 | 显示全部楼层
回复 2# yangfengoo

显示“命令语法不正确"
发表于 2015-5-15 10:55:55 | 显示全部楼层

标题

回复 3# honghong33
贴出自己的代码和错误信息
发表于 2015-5-15 12:37:28 | 显示全部楼层
  1. @echo off&setlocal enabledelayedexpansion
  2. if "%1" equ "" (
  3.    set /a m=!random!%%6+5
  4.    for /f "tokens=2 delims=:" %%i in ('"%0 a|sort"') do (
  5.        set /a n+=1
  6.        if !n! leq !m! copy "a\%%i" "b\%%i" >nul 2>nul
  7.    )
  8. pause&exit
  9. ) else for /f "delims=" %%i in ('dir /b /a-d "a"') do echo;!random!!random!!random!:%%i
复制代码
 楼主| 发表于 2015-5-17 21:43:26 | 显示全部楼层
回复 4# yangfengoo

点击之后就这样。
发表于 2015-5-18 07:28:09 | 显示全部楼层
本帖最后由 yangfengoo 于 2015-5-18 07:29 编辑

把copy /y %%a %%b 改成 copy /y "%%a" "%%b" 可能是文件名含空格造成的
把bat文件放在a b 文件夹的同一文件夹下

评分

参与人数 1技术 +1 收起 理由
honghong33 + 1 感谢

查看全部评分

 楼主| 发表于 2015-5-18 12:13:16 | 显示全部楼层
回复 7# yangfengoo


可以移动文件了,不过是向b下每个文件夹都移动5-10个文件,不是一共移动5-10个文件。
发表于 2015-5-18 12:44:35 | 显示全部楼层
本帖最后由 yangfengoo 于 2015-5-18 13:00 编辑

回复 8# honghong33

不是每个文件夹移5-10个,是每次随机移动a中1个到b任意一个文件夹,
可能出现一个文件夹移了2个或多个,只要文件夹够多基本就是不会有这个问题。
发表于 2015-5-18 12:55:13 | 显示全部楼层
本帖最后由 pcl_test 于 2015-5-18 12:59 编辑
有a、b两个文件夹,a中存在若干不同格式的文件,b文件夹下有很多文件夹,要求把a中的文件随机复制到b中,复 ...
honghong33 发表于 2015-5-14 13:18
可以移动文件了,不过是向b下每个文件夹都移动5-10个文件,不是一共移动5-10个文件 ...
honghong33 发表于 2015-5-18 12:13

这两句结合你想要怎样的效果呢?你自己要先把结果说明白
1、把a的文件向b下每个文件夹随机移动5-10个文件?
2、把a的文件向b下某些文件夹一共随机移动5-10个文件?
3、其他
 楼主| 发表于 2015-5-30 22:17:20 | 显示全部楼层
回复 10# pcl_test

1、把a的文件向b下每个文件夹随机移动5-10个文件?
发表于 2015-5-31 07:52:14 | 显示全部楼层
回复 11# honghong33

楼主,你不会发贴啊,
你该 下面给个 样本 跟成品样本,人家就能有力使到点上了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 04:00 , Processed in 0.020886 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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