[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

本帖最后由 honghong33 于 2015-5-23 19:28 编辑

有a、b两个文件夹,a中存在若干不同格式的文件,b文件夹下有很多文件夹,要求把a中的文件随机复制到b中,复制数量在5-10之间。

  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
复制代码

TOP

回复 2# yangfengoo

显示“命令语法不正确"

TOP

标题

回复 3# honghong33
贴出自己的代码和错误信息

TOP

  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
复制代码

TOP

回复 4# yangfengoo

点击之后就这样。

TOP

本帖最后由 yangfengoo 于 2015-5-18 07:29 编辑

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

评分人数

TOP

回复 7# yangfengoo


可以移动文件了,不过是向b下每个文件夹都移动5-10个文件,不是一共移动5-10个文件。

TOP

本帖最后由 yangfengoo 于 2015-5-18 13:00 编辑

回复 8# honghong33

不是每个文件夹移5-10个,是每次随机移动a中1个到b任意一个文件夹,
可能出现一个文件夹移了2个或多个,只要文件夹够多基本就是不会有这个问题。

TOP

本帖最后由 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、其他

TOP

回复 10# pcl_test

1、把a的文件向b下每个文件夹随机移动5-10个文件?

TOP

回复 11# honghong33

楼主,你不会发贴啊,
你该 下面给个 样本 跟成品样本,人家就能有力使到点上了。

TOP

返回列表