[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 补0改为四位数文件名称如何实现?

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

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

这样行不?
for /f "delims=" %%a in ('%0') do (echo %%a)

TOP

  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. )
复制代码
***共同提高***

TOP

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

TOP

回复 2楼 的帖子

这样可能会比较影响效率,可以学习一下你楼下两位倒着截取的方法。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

呵呵,具体情况还需具体分析:
请问数字是连号吗?
要是连号,就可以直接用for /l 罗

TOP

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

了解了...
for /f "delims=" %%a in ('%0') do (echo %%a)

TOP

返回列表