Board logo

标题: [文件操作] 批处理如何将多个txt文件按指定数量/数目分别移动到不同文件夹里 [打印本页]

作者: wanwywh    时间: 2016-11-9 12:21     标题: 批处理如何将多个txt文件按指定数量/数目分别移动到不同文件夹里

本帖最后由 pcl_test 于 2016-11-9 15:59 编辑

批处理分类文件并相应创建文件夹
现有000.txt~099.txt,100个文件。需要每两个为一组,放到新的文件夹里。如000.txt和001.txt为一组,创建文件夹名称000,把000.txt和001.txt放到000里;002.txt和003.txt为一组,创建文件夹名称001,把002.txt和003.txt放到001里,以此类推。总共创建50个文件夹,每个文件夹放两个文件。

求各位大大们帮忙!
作者: heyoug    时间: 2016-11-17 16:28

@echo off&&setlocal ENABLEDELAYEDEXPANSION
for /l %%i in (0 1 49) do (
set A=%%i
if !A! lss 10 (MD 00!A!) else (md 0!a!)
)
::上面是建立50个文件夹
::for /l %%i in (0 1 99) do (
set A=%%i
if !A! lss 10 (cd.>00!A!.txt) else (cd.>0!A!.txt)
)
::上面是建立100个文本文件,這是測試使用,并不需要
for /l %%i in (0 1 49) do (
set B=%%i
set /a SZA=!B!*2
set  /A SZB=!SZA!+1
if !B! LSS 10 (set B=!B:~-1!) else (set B=!B:~-2!)
if !B! LSS 10 (set B=00!B!) else (set B=0!B!)
if !SZA! LSS 10 (set SZA=00!SZA!) else (set SZA=0!SZA!)
if !SZB! LSS 10 (set SZB=00!SZB!) else (set SZB=0!SZB!)
copy !sza!.txt !b!\&&del /q !sza!.txt
copy !szb!.txt !b!\&&del /q !szb!.txt
)
::上面这是分类整理,高手再精简精简代码。
作者: pcl_test    时间: 2016-11-17 21:16

  1. rem win7及以上系统运行
  2. powershell -c "$n=1;$m=0;dir *.txt|%%{$fd='{0:d3}' -f $m;md $fd -force|out-null;mv $_ $fd;if($n%%2 -eq 0){$m++};$n++}"
  3. pause
复制代码





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