标题: [文本处理] 文件夹里有900个txt文件,如何用批处理按照30个数据一打转移到另一个文件夹 [打印本页]
作者: wang3623246 时间: 2015-7-28 19:02 标题: 文件夹里有900个txt文件,如何用批处理按照30个数据一打转移到另一个文件夹
各位大婶,文件夹里有900个txt文件,如何用批处理在文件夹里建立30个文件夹,或者按照文件夹里的txt数量自动建立文件夹。然后按照每30个txt转移到一个文件夹这样,球大神现身
作者: 尘丶 时间: 2015-7-28 19:31
- set num=1
- for /l %%a in (1,1,30) do md %%a
- for /f %%a in ('dir /b *.txt') do (
- set /a n+=1
- copy %cd%\%%a %cd%\!num!\
- if n==30 (set /a num+=1)
- )
- pause
复制代码
作者: wang3623246 时间: 2015-7-28 19:36
回复 2# 尘丶
你这个只是在当前文件夹建立了30个文件夹,并没有把文件夹里的900个txt按照30个一个文件夹这样导入啊
作者: 尘丶 时间: 2015-7-28 20:06
- @echo on&setlocal enabledelayedexpansion
- set num=1
- for /l %%a in (1,1,30) do md %%a>nul 2>nul
- for /f "tokens=1,2 delims=." %%a in ('dir /b *.txt') do (
- set /a n+=1
- copy %cd%\"%%a".%%b %cd%\!num!
- if !n!==30 (set /a num=!num!+1&set n=)
- )
- pause
复制代码
bat放在跟文本同个路径
作者: wang3623246 时间: 2015-7-28 20:56
回复 4# 尘丶
大神,还是不行啊,能建立文件夹 ,bat运行完成之后,建立的30个文件夹里面还是空白的,并没有把txt转移过去
作者: 狗屁不通 时间: 2015-7-28 21:59
关注一下
作者: flyinnet9 时间: 2015-7-29 11:14
- @echo off
- setlocal enabledelayedexpansion
- set /a folder=1
- for /f "tokens=1 delims=" %%a in ('dir /b *.txt') do (
- if !n!==30 set /a folder+=1 & set n=
- md !folder! 2>nul
- move "%%a" .\!folder!
- set /a n+=1
- )
复制代码
作者: aych 时间: 2015-8-8 16:46
@echo off&setlocal ENABLEDELAYEDEXPANSION
set /a m=1
for /f "delims=" %%a in ('dir/b *.txt') do (
set /a n=n%%30+1
if not exist "!m!\" md "!m!"
move "%%a" "!m!"
if !n! equ 30 set /a m+=1
)
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |