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

[文件操作] 批处理如何将多个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个文件夹,每个文件夹放两个文件。

求各位大大们帮忙!
1

评分人数

    • pcl_test: 发帖前先使用论坛搜索PB -2

@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
)
::上面这是分类整理,高手再精简精简代码。

TOP

  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
复制代码

TOP

返回列表