定时按照一定数量批量剪切文件从a文件夹到b文件夹的批处理

admin

文章最后更新时间:2023年05月25日

项目需求: 

1
2
我d盘有个a文件夹,里面有10000个html的文件,
我想实现每天早上9点和下午3点,每次剪切200个到f盘的b文件夹里,直到1W个文件剪贴完

 解决方法: 

1
2
SCHTASKS /Create /TN new1 /sc dAIly /st 9:00  /tr a.bat
SCHTASKS /Create /TN new2 /sc daily /st 15:00  /tr a.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 ::变量延迟  要不然n一直是0
@echo off&setlocal enabledelayedexpansion
::设置变量初始值
set n=0
::进入源目录
cd /d "f:\a\"
::源目录下面的.html文件
for /f "usebackq delims=" %%a in (`dir /b *.html`) do (
    ::变量每次+1
    set /a n+=1
    ::剪切到的目标目录
    move "%%a" f:\b\
    ::如果变量等于2就结束
    if !n!==2 goto :END
)
:END


拓展,每次复制指定范围内的文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 ::变量延迟  要不然n一直是0
@echo off&setlocal enabledelayedexpansion
::设置变量初始值
set n=0
::设置随机数的最小和最大值以及求模用的变量 我们想获得1到3之间的随机数
set min=1
set max=3
set /a mod=%max%-%min%+1
set /a var=%random%%%%mod%+%min%
:: set /a d=%random:~0,2%   取随机两位数
::源目录下面的.html文件
::进入源目录
cd /d "f:\a\"
::for循环查询目录下的.html文件
for /f "usebackq delims=" %%a in (`dir /b *.html`) do (
    ::变量每次+1
    set /a n+=1
    ::剪切到的目标目录
     move  "%%a" "f:\b\"
    ::如果变量等于2就结束
    if !n!==%var% goto :END
)
:END
1
2
或者不写cd 这行
在move行改为  move  "d:\a\%%a" "F:\b"



文章版权声明:除非注明,否则均为执刀人的工具库原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
验证码
评论列表 (暂无评论,212人围观)

还没有评论,来说两句吧...

目录[+]

取消
微信二维码
微信二维码
支付宝二维码