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

[文本处理] 文件夹里有900个txt文件,如何用批处理按照30个数据一打转移到另一个文件夹

各位大婶,文件夹里有900个txt文件,如何用批处理在文件夹里建立30个文件夹,或者按照文件夹里的txt数量自动建立文件夹。然后按照每30个txt转移到一个文件夹这样,球大神现身

  1. set num=1
  2. for /l %%a in (1,1,30) do md %%a
  3. for /f %%a in ('dir /b *.txt') do (
  4. set /a n+=1
  5. copy %cd%\%%a %cd%\!num!\
  6. if n==30  (set /a num+=1)
  7. )
  8. pause
复制代码

TOP

回复 2# 尘丶


    你这个只是在当前文件夹建立了30个文件夹,并没有把文件夹里的900个txt按照30个一个文件夹这样导入啊
123456789

TOP

  1. @echo on&setlocal enabledelayedexpansion
  2. set num=1
  3. for /l %%a in (1,1,30) do md %%a>nul 2>nul
  4. for /f "tokens=1,2 delims=." %%a in ('dir /b *.txt') do (
  5. set /a n+=1
  6. copy %cd%\"%%a".%%b %cd%\!num!
  7. if !n!==30 (set /a num=!num!+1&set n=)
  8. )
  9. pause
复制代码
bat放在跟文本同个路径

TOP

回复 4# 尘丶

大神,还是不行啊,能建立文件夹 ,bat运行完成之后,建立的30个文件夹里面还是空白的,并没有把txt转移过去
123456789

TOP

关注一下

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /a folder=1
  4. for /f "tokens=1 delims=" %%a in ('dir /b *.txt') do (
  5.   if !n!==30 set /a folder+=1 & set n=
  6.   md !folder! 2>nul
  7.   move "%%a" .\!folder!
  8.   set /a n+=1
  9. )
复制代码

TOP

@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
)

TOP

返回列表