标题: [文件操作] 如何将指定文件夹下的文件按指定数量分批移动到其它文件夹? [打印本页]
作者: haishu79 时间: 2016-2-25 08:25 标题: 如何将指定文件夹下的文件按指定数量分批移动到其它文件夹?
本帖最后由 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就移动到另外一个文件里(按时间建立文件夹),不知为什么就是不行,其它也试过了,求高手!谢谢
作者: haishu79 时间: 2016-2-25 09:13
回复 1# haishu79
已修改,但是有报错- set path=g:\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 %%i in (1,2,20) do move "g:\test\"&"%%~a" "%d%"
- )
- pause
复制代码
作者: gawk 时间: 2016-2-25 13:28
- @echo off
- setlocal enabledelayedexpansion
- REM 每个文件夹放多少个
- set file=20
-
- set n=0
- for /f "delims=" %%a in ('dir /b /a-d g:\test') do (
- if !n! equ 20 (
- set "d=%time:~0,2%%time:~3,2%%time:~6,2%"
- if not exist "!d!" (
- md "!d!"
- )
- )
- for /l %%i in (1,1,20) do (
- move "g:\test\%%~a" "!d!"
- set /a n+=1
- )
- )
- pause
复制代码
作者: haishu79 时间: 2016-2-25 22:06
回复 3# gawk
谢谢,已经可以移动,但是还有点问题 1超过20个的文件也只移动到同一目录,批处理报错!
作者: WHY 时间: 2016-2-26 18:25
- @echo off
- set file=20
- set "d=%time:~0,2%%time:~3,2%%time:~6,2%"
- md %d: =0% 2>nul
-
- for /f "delims=" %%a in ('dir /b /a-d g:\test\*') do (
- move "g:\test\%%a" %d: =0%\
- set /a n+=1, "1/(n-file)" || exit
- )
复制代码
作者: haishu79 时间: 2016-2-29 17:41
回复 5# WHY
OK,谢谢大神
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |