Board logo

标题: [文件操作] 已解决--批处理怎样把缓存文件按时间顺序合并? [打印本页]

作者: mrhxn    时间: 2017-4-24 20:01     标题: 已解决--批处理怎样把缓存文件按时间顺序合并?

本帖最后由 mrhxn 于 2017-4-25 14:27 编辑

缓存中一大堆文件,想按时间顺序合并,用了下面的代码只能合并前200个,
  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('dir /a-d /b /od *') do set file=!file! %%a+
  3. copy /b !file:~,-1! c:\11.mp4
  4. pause
复制代码
请大师支招!谢谢。
作者: nwm310    时间: 2017-4-25 09:51

回复 1# mrhxn
  1. md save
  2. cd.> save\11.mp4
  3. for /f "delims=" %%a in ('dir /a-d /b /od *') do (
  4. copy /b save\11.mp4  +  "%%~fa"  save\11.mp4
  5. )
复制代码

作者: mrhxn    时间: 2017-4-25 11:32

本帖最后由 mrhxn 于 2017-4-25 12:51 编辑
nwm310 发表于 2017-4-25 09:51


谢谢,可以实现,另外,想复制1m~2M之间的文件,加上以下代码,一闪而过,不知何故,请再帮帮忙。
  1. md save
  2. cd.> save\11.mp4
  3. for /f "delims=" %%a in ('dir /a-d /b /od *') do (
  4.    if "%%~za" gtr 1024 & "%%~za" lss 2048 copy /b \save\11.mp4  +  "%%~fa"  \save\11.mp4
  5.   )
复制代码

作者: ShowCode    时间: 2017-4-25 14:19

  1. md save
  2. cd.> save\11.mp4
  3. for /f "delims=" %%a in ('dir /a-d /b /od') do (
  4.     if %%~za gtr 1024 (
  5.         if %%~za lss 2048 (
  6.             copy /b \save\11.mp4  +  "%%~fa"  \save\11.mp4
  7.         )
  8.     )
  9. )
复制代码

作者: mrhxn    时间: 2017-4-25 14:24

ShowCode 发表于 2017-4-25 14:19



已解决!感谢两位。




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