无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3736|回复: 7
打印 上一主题 下一主题

按照序号合并文件怎么弄?

[复制链接]
跳转到指定楼层
1#
发表于 2020-11-29 07:21:24 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 窄口牛 于 2020-11-29 08:32 编辑

需要考虑两位00开始,三位000开始,四位0000开始,一部电影的块儿也就一千来个吧,做到2000应该够了。分享现在合并视频的成品,合并前用重命名软件修改文件名称,复制一下电影名称,然后双击,选择要合并的文件夹,合并后的文件在当前目录。
  1. @echo off
  2. Setlocal enabledelayedexpansion
  3. reg query HKU\S-1-5-20>nul || echo;CreateObject^("Shell.Application"^).ShellExecute "%~f0", "", "", "runas", 1 > "%temp%\getadmin.vbs" && cscript //b "%temp%\getadmin.vbs" && exit /b & del "%temp%\getadmin.vbs" /f /q>nul 2>nul
  4. pushd "%CD%"&& CD /D "%~dp0"
  5. for /f %%a in ('mshta "javascript:var s=clipboardData.getData('text');if(s)new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(s);close();"^|more') do (set name=%%a)
  6. for /f "delims=" %%a in ('mshta "%~f0"') do set path1=%%a
  7. for /f "delims=" %%a in ('dir "!path1!" /b') do (
  8. if %%a LSS 10 (ren "!path1!\%%a" 00%%a) else (
  9. if %%a LSS 100 (ren "!path1!\%%a" 0%%a) ))
  10. del "!path1!\index.m3u8" /q
  11. copy /b "!path1!\*.*" %name%.mp4
  12. pause>nul
  13. <script>
  14. var Shell = new ActiveXObject("Shell.Application");
  15. var Folder = Shell.BrowseForFolder(0, "请选择文件夹", 0); //起始目录为:桌面
  16. if (Folder != null) {
  17.     Folder = Folder.items();
  18.     Folder = Folder.item();
  19.     Folder = Folder.Path;
  20.     new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(Folder);
  21. }
  22. close();
  23. </script>






  24. pause>nul
复制代码


2#
 楼主| 发表于 2020-11-29 07:25:19 来自手机 | 只看该作者
本帖最后由 窄口牛 于 2020-11-29 08:28 编辑

问题源自刚看过的一部电影,它本身不是时序的,导致我下载了几次,感觉直接copy/b合并排序有问题。于是想干脆弄个写死,发现好难。建立测试
  1. @echo off
  2. Setlocal enabledelayedexpansion
  3. reg query HKU\S-1-5-20>nul || echo;CreateObject^("Shell.Application"^).ShellExecute "%~f0", "", "", "runas", 1 > "%temp%\getadmin.vbs" && cscript //b "%temp%\getadmin.vbs" && exit /b & del "%temp%\getadmin.vbs" /f /q>nul 2>nul
  4. pushd "%CD%"&& CD /D "%~dp0"
  5. md test1
  6. md test2
  7. for /l %%a in (100,1,199) do set a=%%a&echo !a:~1!>.\test1\!a:~1!.ts
  8. for /l %%a in (10000,1,11200) do set a=%%a&echo !a:~1!>.\test2\!a:~1!.ts
  9. pause>nul
复制代码


回复

使用道具 举报

3#
发表于 2020-11-29 08:28:29 | 只看该作者
等高手来回复吧
回复

使用道具 举报

4#
发表于 2020-11-29 08:59:08 | 只看该作者
DVD的?那么MediaCoder应该能做。使用功能->工具箱->tsMuxer UI。实在不行先使用MediaCoder把所有片断转成MKV,然后再使用MKVMerge GUI把它们合并。
回复

使用道具 举报

5#
发表于 2020-11-29 10:18:06 | 只看该作者
用硕鼠合并不香嘛
回复

使用道具 举报

6#
发表于 2020-11-29 11:20:17 | 只看该作者
按位数分开合并
回复

使用道具 举报

7#
 楼主| 发表于 2020-11-29 11:24:07 来自手机 | 只看该作者
按四位合并就行,先把暂时不是四位的增加至四位,这样就简单些了。问题是怎么搞成从小往大的累加链。
回复

使用道具 举报

8#
 楼主| 发表于 2020-11-30 07:59:34 来自手机 | 只看该作者
本帖最后由 窄口牛 于 2020-11-30 08:44 编辑

弄了个四位的,却只能到1136,再多就没了,或者开始跳序,悲哀的bat。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-17 17:24

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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