Board logo

标题: [文件操作] 批处理怎样实现文件夹里面文件均匀分布 [打印本页]

作者: netdzb    时间: 2020-9-14 09:21     标题: 批处理怎样实现文件夹里面文件均匀分布

主文件夹下面有1000个文件,需要建立50个文件夹,编号依次位m001,m002,m003,......m050,
然后依次把1000个文件均匀的存放到这50个文件夹中,应该如何做?
作者: netdzb    时间: 2020-9-14 10:36

回复 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,这里我被卡住了,
谁帮忙看一下,谢谢。
作者: netdzb    时间: 2020-9-14 10:58

回复 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语句,结构不是最好。
作者: went    时间: 2020-9-14 11:32

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





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