找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 23379|回复: 3

[文件操作] 批处理怎样实现文件夹里面文件均匀分布

[复制链接]
发表于 2020-9-14 09:21:06 | 显示全部楼层 |阅读模式
主文件夹下面有1000个文件,需要建立50个文件夹,编号依次位m001,m002,m003,......m050,
然后依次把1000个文件均匀的存放到这50个文件夹中,应该如何做?
 楼主| 发表于 2020-9-14 10:36:12 | 显示全部楼层
回复 1# netdzb


for filename in filenames:
        if filename == '.mp4' and os.path.isfile(filename) == true:
                break
count = 1
创建m001文件夹

for filename in filenames:
        if filename == '.mp4' and os.path.isfile(filename) == true and count <=20:
                移动文件
                count += 1
        count = 1


我想用python 来实现上面的需求,但是程序结构上会遇到goto,这里我被卡住了,
谁帮忙看一下,谢谢。
 楼主| 发表于 2020-9-14 10:58:46 | 显示全部楼层
回复 1# netdzb

start:
#countfold文件夹数量
countfold = 0
for filename in filenames:
        if filename == '.mp4' and os.path.isfile(filename) == true:
                countfold += 1
                break

# 创建m序号文件夹
# count文件数量

count = 1
for filename in filenames:
        if filename == '.mp4' and os.path.isfile(filename) == true and count <=20:
                移动文件
                count += 1
        else:
                count = 0
                goto start

代码结构改好了,里面有goto语句,结构不是最好。
发表于 2020-9-14 11:32:39 | 显示全部楼层
bat
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /a "max=20,count=max,folderNum=0"
  4. for %%i in (*.mp4) do (
  5.         if "!count!"=="%max%" (
  6.                 set "count=0"
  7.                 set /a "folderNum+=1"
  8.                 set "folderName=0000!folderNum!"
  9.                 mkdir "m!folderName:~-3!"
  10.         )
  11.         set /a count+=1
  12.         move /y "%%i" "m!folderName:~-3!" >nul
  13. )
  14. pause&exit
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 07:16 , Processed in 0.016497 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表