标题: [文件操作] [已解决]批处理随机移动文件 [打印本页]
作者: honghong33 时间: 2015-5-14 13:18 标题: [已解决]批处理随机移动文件
本帖最后由 honghong33 于 2015-5-23 19:28 编辑
有a、b两个文件夹,a中存在若干不同格式的文件,b文件夹下有很多文件夹,要求把a中的文件随机复制到b中,复制数量在5-10之间。
作者: yangfengoo 时间: 2015-5-14 14:04
- @echo off
- setlocal enabledelayedexpansion
- set /a sjs=5+%random% %% 5
- :#
- for /r a\ %%a in (*.*) do (
- if !random! gtr 100 (
- for /r b\ %%b in (.) do (
- if !random! lss 50 (
- copy /y %%a %%b
- set/a n+=1
- )
- )
- )
- )
- if !n! leq !sjs! goto #
- echo,共随机复制!n!个文件
- pause
复制代码
作者: honghong33 时间: 2015-5-14 21:43
回复 2# yangfengoo
显示“命令语法不正确"
作者: yangfengoo 时间: 2015-5-15 10:55 标题: 标题
回复 3# honghong33
贴出自己的代码和错误信息
作者: terse 时间: 2015-5-15 12:37
- @echo off&setlocal enabledelayedexpansion
- if "%1" equ "" (
- set /a m=!random!%%6+5
- for /f "tokens=2 delims=:" %%i in ('"%0 a|sort"') do (
- set /a n+=1
- if !n! leq !m! copy "a\%%i" "b\%%i" >nul 2>nul
- )
- pause&exit
- ) else for /f "delims=" %%i in ('dir /b /a-d "a\"') do echo;!random!!random!!random!:%%i
复制代码
作者: honghong33 时间: 2015-5-17 21:43
回复 4# yangfengoo
点击之后就这样。
作者: yangfengoo 时间: 2015-5-18 07:28
本帖最后由 yangfengoo 于 2015-5-18 07:29 编辑
把copy /y %%a %%b 改成 copy /y "%%a" "%%b" 可能是文件名含空格造成的
把bat文件放在a b 文件夹的同一文件夹下
作者: honghong33 时间: 2015-5-18 12:13
回复 7# yangfengoo
可以移动文件了,不过是向b下每个文件夹都移动5-10个文件,不是一共移动5-10个文件。
作者: yangfengoo 时间: 2015-5-18 12:44
本帖最后由 yangfengoo 于 2015-5-18 13:00 编辑
回复 8# honghong33
不是每个文件夹移5-10个,是每次随机移动a中1个到b任意一个文件夹,
可能出现一个文件夹移了2个或多个,只要文件夹够多基本就是不会有这个问题。
作者: pcl_test 时间: 2015-5-18 12:55
本帖最后由 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、其他
作者: honghong33 时间: 2015-5-30 22:17
回复 10# pcl_test
1、把a的文件向b下每个文件夹随机移动5-10个文件?
作者: 我来了 时间: 2015-5-31 07:52
回复 11# honghong33
楼主,你不会发贴啊,
你该 下面给个 样本 跟成品样本,人家就能有力使到点上了。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |