Board logo

标题: [文件操作] [已解决]求批处理定时批量剪切文件a文件夹到b文件夹 [打印本页]

作者: 任贤齐    时间: 2021-5-19 22:49     标题: [已解决]求批处理定时批量剪切文件a文件夹到b文件夹

本帖最后由 任贤齐 于 2021-5-20 09:21 编辑

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

请问各位批处理之家的大佬们

这个如何去写?谢谢 好人一生平安!
作者: 523066680    时间: 2021-5-19 23:41

任达华,任我行 ……
作者: newswan    时间: 2021-5-19 23:41

  1. SCHTASKS /Create /TN new1 /sc daily /st 9:00  /tr a.bat
  2. SCHTASKS /Create /TN new2 /sc daily /st 15:00  /tr a.bat
复制代码
  1. set n=0
  2. for /f "usebackq delims=" %%a in (`dir /b d:\*.html`) do (
  3.     set n+=1
  4.     if !n!==200 goto :END
  5.     move "%%a" f:\b\
  6. )
  7. :END
复制代码

作者: 任贤齐    时间: 2021-5-20 08:51

回复 3# newswan


    感谢newswan大神,已经实现自动剪切,可是每一次剪切的时候不是200,是把所有的html文件都剪切过去了 ,改代码里的数字也不管用呢?请问是哪里的问题
谢谢您的热心,好运常伴
作者: newswan    时间: 2021-5-20 09:03

本帖最后由 newswan 于 2021-5-20 09:05 编辑

回复 4# 任贤齐
  1.     set /a n+=1
  2.     move "%%a" f:\b\
  3.     if !n!==2 goto :END
复制代码
循环体内有误,低级错误。。。
作者: 任贤齐    时间: 2021-5-20 09:08

回复 5# newswan


    哇哦 完美解决,多谢多谢
你就是今天我生命中最亮的仔 点赞!
作者: 任贤齐    时间: 2021-5-20 09:09

回复 2# 523066680


    多谢版主支持,姓任的明星不少呀
作者: 任贤齐    时间: 2021-5-20 12:53

set n=0
for /f "usebackq delims=" %%a in (`dir /b d:\a\*.html`) do (
   set /a n+=1
    move "%%a" f:\b\
    if !n!==2 goto :END
)

:END

有个小问题,老大,就是这个bat我只能在源目录下执行,我如果拖到桌面或者其他目录会提示[系统找不到指定文件]
我修改d:\a\ 这样的路径名也无济于事

请问我怎么能在桌面执行呢?
作者: 任贤齐    时间: 2021-5-20 12:53

set n=0
for /f "usebackq delims=" %%a in (`dir /b d:\a\*.html`) do (
   set /a n+=1
    move "%%a" f:\b\
    if !n!==2 goto :END
)

:END

有个小问题,老大,就是这个bat我只能在源目录下执行,我如果拖到桌面或者其他目录会提示[系统找不到指定文件]
我修改d:\a\ 这样的路径名也无济于事

请问我怎么能在桌面执行呢?
作者: qixiaobin0715    时间: 2021-5-20 14:44

本帖最后由 qixiaobin0715 于 2021-5-21 16:26 编辑

原因是:%%a只显示了文件名及扩展名,执行move命令时,只会在当前文件夹即批处理所在的文件夹中寻找此文件。所以会提示找不到文件,cd指向源目录。
  1. set n=0
  2. cd /d "d:\a"
  3. for /f "usebackq delims=" %%a in (`dir /b *.html`) do (
  4. ...以下保留原样
复制代码
已修改部分错误。
作者: 任贤齐    时间: 2021-5-20 15:00

回复 11# qixiaobin0715


    非常感谢,用cd命令已经实现 for前面加个cd /d "d:\a\" 好了
您说的另一种方法,没有测试成功,不知道哪里的问题,  源目录 d:\a\  目标目录  f:\b\
  1. move "%%~fa" "f:\b\"
复制代码

作者: 任贤齐    时间: 2021-5-21 14:38

回复 13# qixiaobin0715


    老大好,多次测试,还是提示找不到路径
你可以把完整的发出来 我直接复制试试 信息
作者: qixiaobin0715    时间: 2021-5-21 15:20

回复 14# 任贤齐
是我想错了:
  1. move "D:\a\%%a" "F:\b"
复制代码

作者: 任贤齐    时间: 2021-5-21 16:43

回复 13# qixiaobin0715


    已成功,多谢老大 向你学习
作者: 1152    时间: 2021-5-21 21:45

回复 9# 任贤齐


    能不能用code
作者: 1152    时间: 2021-5-22 09:56

回复 2# 523066680


    什么意思
作者: 1152    时间: 2021-5-22 09:58

回复 9# 任贤齐


    你不能用code括起来吗?




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2