标题: [文件操作] copy 命令可按指定顺序来合并文件么? [打印本页]
作者: xzwcn 时间: 2018-7-17 18:39 标题: 如何用批处理实现按当前可见的文件列表顺序重命名?
借助第三方工具内置的排序,不能得到上图的顺序。。。。用批处理可以么?
或者换个思考:不管当前可见的顺序,根据命名规则修改文件名,后面再排序即可?
作者: WHY 时间: 2018-7-17 21:31
dir *.ts | ?{$_.Name -match '^a(\d{1,3}\.ts)$'} | ren -newName {$matches[1].PadLeft(6, '0')}
作者: xzwcn 时间: 2018-7-17 22:21
回复 2# WHY - dir *.ts | ?{$_.Name -match '^a(\d{1,3}\.ts)$'} | ren -newName {$matches[1].PadLeft(6, '0')}
复制代码
'?{$_.Name' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
请问这个要怎么运行?需要其它辅助的?
作者: Batcher 时间: 2018-7-18 08:21
回复 3# xzwcn
2楼是PowerShell代码
作者: 窄口牛 时间: 2018-7-18 08:52
重找找软件
作者: Batcher 时间: 2018-7-18 08:56
DOS实现非常困难,Windows的BAT实现很简单:- @echo off
- setlocal enabledelayedexpansion
- for /l %%i in (1,1,1000) do (
- set n=1000%%i
- if exist "a%%i.ts" (
- ren "a%%i.ts" "a!n:~-3!.ts"
- )
- )
复制代码
作者: xzwcn 时间: 2018-7-18 09:21 标题: copy 命令可按指定顺序来合并文件么?
copy 命令可按指定顺序来合并文件么?
作者: xzwcn 时间: 2018-7-18 10:42
借助工具可以按顺序合并:
TSSplitter 1.2 Download - VideoHelp
https://www.videohelp.com/software/TSSplitter
作者: CrLf 时间: 2018-7-18 11:34
楼主电脑上的顺序咋就这么奇怪
作者: xzwcn 时间: 2018-7-18 13:35
回复 9# CrLf
怎么奇怪?我点击【名称】列,它可以按升序、倒序排列,正常的,只是copy 命令不能指定顺序,它按自己的顺序处理了。
作者: yhcfsr 时间: 2018-7-18 16:55
回复 10# xzwcn
无论是DIR还是FOR /R都是按字符大小逐个字符比较的,而不是纯数字大小,这与WIN是有区别的.
想要实现BAT与WIN排序相同,数字部分位数要相同,不足的左补0.如果是纯数字,下载第三方命令行sort可实现.
回到你的问题,你完全可以截取数字部分进行补0操作,而不用排序这么麻烦低效的操作.
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |