标题: [文本处理] 批处理如何把多个文本按指定数量分到多个文件夹里? [打印本页]
作者: 55075138 时间: 2015-12-4 01:18 标题: 批处理如何把多个文本按指定数量分到多个文件夹里?
比如现有10000个文本文件,想move到编号是1--1000的文件夹内,这些文件夹处于同个目录,每个文件夹放10个文本。
还请各位大神指教下
作者: 55075138 时间: 2015-12-4 01:20
文本名字也是有规律的,从1到10000
作者: rdctgvf 时间: 2015-12-4 11:16
:)- @echo off&setlocal enabledelayedexpansion
-
- for /f "delims=" %%i in ("%cd%") do set FolderPath=%%i
-
- for /f "delims=" %%a in ('dir /b /a:d') do (
- set FoderName=%%a
- call :Loop !FoderName!
- )
-
- echo;&echo *** 脚本执行完毕 ***
- pause
-
- :Loop
- set ddq=0
- for /f "delims=" %%a in ('dir /b /a-d *.txt') do (
- set/a ddq+=1
- set FileName=%%a
- if !ddq! LEQ 10 (
- move %FolderPath%\!FileName! %FolderPath%\%1\!FileName!
-
- ))
- goto :eof
复制代码
代码在WIN7下测试完成,请把脚本放在所需处理的目录下执行并保证所处理的文本文件和文件夹在同一个目录
作者: terse 时间: 2015-12-4 15:10
文件名有规律的话 这样效率高点哦- @echo off&setlocal enabledelayedexpansion
- set n=0
- for /l %%i in (0,10,9990) do (
- set /a m=%%i,i=%%i/10+1,n+=10
- md !i! 2>nul
- if defined a (set "f=!m:~,-1!") else set "f=!m:~1!"
- move !f!?.txt !i!\ >nul 2>nul
- move !n!.txt !i!\ >nul 2>nul
- set a=0
- )
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |