标题: [文本处理] [已解决]批处理有顺序的文本想合并却不能按照windows的顺序? [打印本页]
作者: szhgj 时间: 2012-3-21 09:13 标题: [已解决]批处理有顺序的文本想合并却不能按照windows的顺序?
原本有一些txt文本,他们的命名规则是5.txt,6.txt,7.txt,8.txt,9.txt,10.txt,11.txt,12.txt
现在用dir按照顺序想用copy命令合并
但是顺序却变成
10.txt
11.txt
12.txt
5.txt
6.txt
7.txt
8.txt
9.txt
怎么办?
附加条件:我要固定for循环数量。比如只从6.txt开始11.txt结束
应该能用for解决,不过我不是很熟练,写不出代码
劳驾高手解决
解决了,原来是没有追加/B
代码是修改自QIAOXINGXING 的- @echo off
- SetLocal EnableDelayEdexpansion
- for /l %%a in (6 1 10) do (
- set "str=!str! + %%a.txt"
- )
- copy /B !str:~3! 合并.txt
- pause
复制代码
希望对有需要的人提供帮助
作者: find 时间: 2012-3-21 09:44
- @echo off
- for /l %%a in (6,1,11) do (
- echo %%a.txt
- )
- pause
复制代码
作者: QIAOXINGXING 时间: 2012-3-21 09:50
- @echo off&SetLocal EnableDelayEdexpansion&cd /d "%~dp0"
-
- for /L %%i in (6 1 11) do (
- set "str=!str! + %%i.txt"
- )
- copy !str:~3! 合并.txt
- pause
复制代码
作者: szhgj 时间: 2012-3-21 10:07
回复 3# QIAOXINGXING
闪了一下就没了=、=
作者: find 时间: 2012-3-21 10:48
回复 4# szhgj
2楼的闪不闪?
作者: szhgj 时间: 2012-3-21 11:05
本帖最后由 szhgj 于 2012-3-21 11:07 编辑
回复 5# find - @echo off
- SetLocal EnableDelayEdexpansion
-
- for /l %%a in (6 1 11) do (
- set "str=!str! + %%a.txt"
- )
- copy !str:~3! 合并.txt
- pause
复制代码
貌似这样可以,大家看看
作者: szhgj 时间: 2012-3-21 11:11
回复 6# szhgj
最后面会有,这个怎么办“ ”
作者: szhgj 时间: 2012-3-21 12:27
解决了,原来是没有追加/B
代码是- @echo off
- SetLocal EnableDelayEdexpansion
- for /l %%a in (6 1 10) do (
- set "str=!str! + %%a.txt"
- )
- copy /B !str:~3! 合并.txt
- pause
复制代码
希望对有需要的人提供帮助
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |