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

[文件操作] 如何将指定文件夹下的文件按指定数量分批移动到其它文件夹?

本帖最后由 pcl_test 于 2016-2-25 19:57 编辑

::每个文件夹放多少个,test为测试目录
set  file=20

for /f "delims=" %%a in ('dir g:\test /b') do (
set d=%time:~0,2%%time:~3,2%%time:~6,2%
md %d%
for /l %%b in(1,1,20) do ( move "g:\test\"&"%%~a"  "%d%")
)


pause
将TEST目录下的文件每20就移动到另外一个文件里(按时间建立文件夹),不知为什么就是不行,其它也试过了,求高手!谢谢
1

评分人数

回复 1# haishu79
已修改,但是有报错
  1. set path=g:\test
  2. ::每个文件夹放多少个
  3. set  file=20
  4. for /f "delims=" %%a in ('dir g:\test /b') do (
  5. set d=%time:~0,2%%time:~3,2%%time:~6,2%
  6. md %d%
  7. for /l %%i in (1,2,20) do move "g:\test\"&"%%~a"  "%d%"
  8. )
  9. pause
复制代码

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. REM 每个文件夹放多少个
  4. set file=20
  5. set n=0
  6. for /f "delims=" %%a in ('dir /b /a-d g:\test') do (
  7.     if !n! equ 20 (
  8.         set "d=%time:~0,2%%time:~3,2%%time:~6,2%"
  9.         if not exist "!d!" (
  10.             md "!d!"
  11.         )
  12.     )
  13.     for /l %%i in (1,1,20) do (
  14.         move "g:\test\%%~a" "!d!"
  15.         set /a n+=1
  16.     )
  17. )
  18. pause
复制代码
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

回复 3# gawk


谢谢,已经可以移动,但是还有点问题  1超过20个的文件也只移动到同一目录,批处理报错!

TOP

  1. @echo off
  2. set  file=20
  3. set "d=%time:~0,2%%time:~3,2%%time:~6,2%"
  4. md %d: =0% 2>nul
  5. for /f "delims=" %%a in ('dir /b /a-d g:\test\*') do (
  6.     move "g:\test\%%a"  %d: =0%\
  7.     set /a n+=1, "1/(n-file)" || exit
  8. )
复制代码
1

评分人数

TOP

回复 5# WHY


    OK,谢谢大神

TOP

返回列表