找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 25475|回复: 4

[文本处理] 【已解决】多个文件夹内的文本批量改名

[复制链接]
发表于 2015-11-11 21:04:14 | 显示全部楼层 |阅读模式
本帖最后由 思想之翼 于 2015-11-12 00:27 编辑
  1. @echo off&setlocal EnableDelayedExpansion
  2. set a=10000
  3. for /f "delims=" %%i in ('dir /b *.txt') do (
  4. if not "%%~ni"=="%~n0" (
  5. if !a! LSS 10 (ren "%%i" "!a!.txt") else ren "%%i" "!a:~-4!.txt"
  6. set/a a+=1
  7. )
  8. )
复制代码
  1. @echo off&setlocal EnableDelayedExpansion
  2. for /l %%x in (1001,1,1002) do (
  3. set y=%%x
  4. set a=10000
  5. pushd "d:\数据\改名\!y:~1!"
  6. for /f "delims=" %%i in ('dir /b *.txt') do (
  7. if not "%%~ni"=="%~n0" (
  8. if !a! LSS 10 (ren "%%i" "!a!.txt") else ren "%%i" "!a:~-4!.txt"
  9. set/a a+=1
  10. )
  11. )
  12. )
复制代码
解决了。
 楼主| 发表于 2015-11-11 18:57:19 | 显示全部楼层

【已解决】BAT或VBS:多个文件夹内的文本批量改名

本帖最后由 思想之翼 于 2015-11-12 00:10 编辑

D:/数据/内有命名为001-210的子文件夹,每个子文件夹内有命名为00001-10000的txt文本
现在欲将所有子文件夹内的文本批量改名,改名规则是:
00001改为0000
00002改为0001
......
10000改为9999
BAT VBS均可。恳望得到帮助。
发表于 2015-11-11 22:23:46 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set/a number=10000000
  4. for /f "delims=" %%i in ('dir/a-d/b/l/on "%~dp0\测试\*.txt"') do (
  5. echo,"%~dp0\测试\%%~nxi" "!number:~-4!%%~xi"
  6. set/a number+=1
  7. )
  8. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
思想之翼 + 1 感谢

查看全部评分

发表于 2015-11-11 23:14:07 | 显示全部楼层
本帖最后由 /zhqsystem/zhq 于 2015-11-11 23:17 编辑

回复 4# 思想之翼


    'dir/a-d/b/l/on "%~dp0\测试\*.txt"'这句直接到路径将 %~dp0\测试\ 下边的也要改 替换实际路径文件夹目录,set/a number=10000000
这个数值偏大可以改小点保证要截取的字符多一位[改最后的数值计算时会默认在最后的数值计算],只是取值了后边的后四位字符
发表于 2015-11-11 23:30:31 | 显示全部楼层
回复 6# 思想之翼
这个不包含子文件夹,包含数字序列就错了
set/a number=10000
for /f "delims=" %%i in ('dir/a-d/b/l/on "d:\数据\差\*.txt"') do (
echo,"d:\数据\差\%%~nxi" "!number:~-4!%%~xi"
set/a number+=1
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 10:37 , Processed in 0.018739 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表