标题: [文件操作] 批处理默认列表顺序为1,10,11,...,2,21,...怎么办? [打印本页]
作者: ytyyutianyun 时间: 2013-2-16 13:44 标题: 批处理默认列表顺序为1,10,11,...,2,21,...怎么办?
我用- for /f "delims=" %%i in ('dir /a-d /b "%dir_src%"') do (
- >nul copy "%dir_src%\%%i" "!dir_des!\"
复制代码
处理文件,发现内部生成文件序列为1.jpg,10.jpg,11,....jpg,2.jpg,21.jpg,.
但我需要的是正常序列1.jpg,2.jpg,3.jpg,4.jpg,5.jpg,6.jpg,
如何实现,谢谢!
作者: 悬崖之树 时间: 2013-2-16 18:54
出现上面的情况是因为系统按文件名排列文件的规则决定的,无法更改。
如果要按正常顺序排列的话,文件名要设成 01 02 03 04 05 06 07 08 09 10 ……之类的。
作者: 悬崖之树 时间: 2013-2-16 20:25
本帖最后由 悬崖之树 于 2013-2-16 20:27 编辑
下面的代码可以将批处理所在的目录下的所有txt文件重命名为01.txt 02.txt……(最多可以 重命名99个哦,超出将出错!!)- @echo off & setlocal enabledelayedexpansion
-
- set n=99
- :s
- set /a n+=1
- set m=%n:~-2%
- if %n% gtr 100 goto :eof
- for /f "delims=" %%i in ('dir /a-d /b *.txt') do (
- call :s
- ren "%%i" !m!.txt
- )
- pause
复制代码
作者: group 时间: 2013-2-17 05:02
分别获取- for /f "delims=" %%i in ('dir /a-d /b ?.txt^&dir /a-d /b ??.txt') do (
- >nul copy "%dir_src%\%%i" "!dir_des!\"
复制代码
作者: ytyyutianyun 时间: 2013-2-18 12:48
本帖最后由 ytyyutianyun 于 2013-2-18 12:52 编辑
回复 4# group
Good,- set dir_des=%dir_desA%
- for /f "delims=" %%i in ('dir /a-d /b %dir_src%\?.txt^&dir /a-d /b %dir_src%\??.txt^&dir /a-d /b %dir_src%\???.txt^&dir /a-d /b %dir_src%\????.txt') do (
- >nul copy "%dir_src%\%%i" "!dir_des!\"
复制代码
成功了,谢谢
也谢谢“悬崖之树”热心指点
作者: BAT-VBS 时间: 2013-2-18 23:07
回复 5# ytyyutianyun
问题解决后,请编辑顶楼帖子在标题前面注明[已解决],并给回答者加分。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |