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

[文件操作] 按顺序一键移动不同文件夹的内指定数量的文件到[今日播放]文件夹

在当前目录下,有若干文件夹,
每个文件夹下有数量不同的MP3文件,如“英文、故事、歌曲、相声……”
每个文件夹内的文件都用数字编号进行排序,

在当前目录下,有一文件夹命名为“今日播放”

想求一段BAT命令,
实现 “按顺序一键移动不同文件夹的内指定数量的文件到[今日播放]文件夹”

示例说明:(“精品音乐”为当前目录,可省略)

源文件夹路径

D:\精品音乐\英文 移动文件数:2
D:\精品音乐\故事 移动文件数:1
D:\精品音乐\歌曲 移动文件数:3
D:\精品音乐\相声 移动文件数:5

目标文件夹路径  

D:\精品音乐\今日播放

===
谢谢

回复 14# 踏沙行


    成功了 谢谢

TOP

回复 13# cqz1314
把第7行的”echo;“去掉

TOP

辛苦了 老师

但是 测试没有成功 DOS窗口显示如图 实际文件并没有移动 都在原文件夹内

麻烦帮忙调试 谢谢

TOP

本帖最后由 WHY 于 2018-12-10 14:24 编辑
  1. @echo off & setlocal enabledelayedexpansion
  2. md "今日播放" 2>nul
  3. set /a _英文=2, _故事=1, _歌曲=3, _相声=5
  4. for /d %%i in (*) do (
  5.     set n=0
  6.     for %%j in ("%%i\*.mp3" "%%i\*.mp4") do (
  7.         set /a n+=1 & if !n! LEQ !_%%i! move "%%j" "今日播放\"
  8.     )
  9. )
  10. pause
复制代码

TOP

本帖最后由 WHY 于 2018-12-10 14:22 编辑
  1. @echo off
  2. md "今日播放" 2>nul
  3. PowerShell "$a=@{英文=2;故事=1;歌曲=3;相声=5};dir .\*\*.mp[3-4]|group{$_.Directory.Name}|?{$a.ContainsKey($_.Name)}|%%{mv $_.Group[0..($a[$_.Name]-1)] -Dest '.\今日播放\' -Force}"
  4. pause
复制代码

TOP

回复 6# Batcher


    再次求助 盼复

TOP

回复 6# Batcher


    拜托帮忙处理一下 万分感激

TOP

回复 6# Batcher

    文件类型 MP3 或 mp4

TOP

回复 6# Batcher


    确认是移动  源文件我另有备份

TOP

回复 4# cqz1314


如果是删除的话,请再次确认一下“按顺序一键移动不同文件夹的内指定数量的文件到[今日播放]文件夹”
这里是移动还是复制?如果是移动的话,会不会过几天之后都被删没啦?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# xczxczxcz


不会的 文件名除了数字外还有其他字符

TOP

回复 3# Batcher


    次日执行命令时,删除【今日播放】里的全部文件

辛苦 盼实现

TOP

今天移动了若干,明天怎么处理呢?需要先把“今日播放”里面的文件都删掉吗?还是需要原路移回英文、故事、歌曲、相声?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

D:\精品音乐\今日播放  相同’数字编号‘会覆盖。

TOP

返回列表