Board logo

标题: [文件操作] 补0改为四位数文件名称如何实现? [打印本页]

作者: snui007    时间: 2009-2-17 20:50     标题: 补0改为四位数文件名称如何实现?

同一目录下有大量文本文件 名称如 1.txt、2.txt、3.txt、......  。现在想将它们的名称转换为 0001.txt、0002.txt、0003.txt 这样的名称,即前面补0改为四位数的名称。请问如何实现?
作者: BBCC    时间: 2009-2-17 21:29

for /f + dir + count
然后
for /l 补位?

这样行不?
作者: batman    时间: 2009-2-17 21:32

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('dir /b *.txt') do (
  3.      set "str=0000%%~na"&set "str=!str:~-4!"
  4.      ren %%a !str!.txt
  5. )
复制代码

作者: tireless    时间: 2009-2-17 21:43

  1. @echo off & setlocal enabledelayedexpansion
  2. for %%a in (*.txt) do (
  3.   set str=000%%a
  4.   ren %%a !str:~-8!
  5. )
复制代码

作者: Batcher    时间: 2009-2-17 22:13     标题: 回复 2楼 的帖子

这样可能会比较影响效率,可以学习一下你楼下两位倒着截取的方法。
作者: youxi01    时间: 2009-2-17 22:15

呵呵,具体情况还需具体分析:
请问数字是连号吗?
要是连号,就可以直接用for /l 罗
作者: BBCC    时间: 2009-2-18 12:52

原帖由 Batcher 于 2009-2-17 22:13 发表 [img][/img]
这样可能会比较影响效率,可以学习一下你楼下两位倒着截取的方法。

了解了...




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2