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

[文件操作] copy 命令可按指定顺序来合并文件么?

[复制链接]
发表于 2018-7-18 09:21:30 | 显示全部楼层 |阅读模式
copy 命令可按指定顺序来合并文件么?
 楼主| 发表于 2018-7-17 18:39:21 | 显示全部楼层

如何用批处理实现按当前可见的文件列表顺序重命名?

借助第三方工具内置的排序,不能得到上图的顺序。。。。用批处理可以么?

或者换个思考:不管当前可见的顺序,根据命名规则修改文件名,后面再排序即可?
发表于 2018-7-17 21:31:05 | 显示全部楼层
dir *.ts | ?{$_.Name -match '^a(\d{1,3}\.ts)$'} | ren -newName {$matches[1].PadLeft(6, '0')}
 楼主| 发表于 2018-7-17 22:21:27 | 显示全部楼层
回复 2# WHY
  1. dir *.ts | ?{$_.Name -match '^a(\d{1,3}\.ts)$'} | ren -newName {$matches[1].PadLeft(6, '0')}
复制代码
'?{$_.Name' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

请问这个要怎么运行?需要其它辅助的?
发表于 2018-7-18 08:21:19 | 显示全部楼层
回复 3# xzwcn


    2楼是PowerShell代码
发表于 2018-7-18 08:52:37 | 显示全部楼层
重找找软件
发表于 2018-7-18 08:56:47 | 显示全部楼层
DOS实现非常困难,Windows的BAT实现很简单:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /l %%i in (1,1,1000) do (
  4.     set n=1000%%i
  5.     if exist "a%%i.ts" (
  6.         ren "a%%i.ts" "a!n:~-3!.ts"
  7.     )
  8. )
复制代码
 楼主| 发表于 2018-7-18 10:42:57 | 显示全部楼层
借助工具可以按顺序合并:

TSSplitter 1.2 Download - VideoHelp
https://www.videohelp.com/software/TSSplitter
发表于 2018-7-18 11:34:45 | 显示全部楼层
楼主电脑上的顺序咋就这么奇怪
 楼主| 发表于 2018-7-18 13:35:57 | 显示全部楼层
回复 9# CrLf

怎么奇怪?我点击【名称】列,它可以按升序、倒序排列,正常的,只是copy 命令不能指定顺序,它按自己的顺序处理了。
发表于 2018-7-18 16:55:15 | 显示全部楼层
回复 10# xzwcn


无论是DIR还是FOR /R都是按字符大小逐个字符比较的,而不是纯数字大小,这与WIN是有区别的.
想要实现BAT与WIN排序相同,数字部分位数要相同,不足的左补0.如果是纯数字,下载第三方命令行sort可实现.
回到你的问题,你完全可以截取数字部分进行补0操作,而不用排序这么麻烦低效的操作.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 02:21 , Processed in 0.035204 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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