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

[文件操作] [已解决]批处理怎样把文件名以数字序号替换

本帖最后由 pcl_test 于 2017-6-5 09:38 编辑

语音文件夹:
德语-韵尾
德语-字音
。。。。。。
会话文件夹:
[日常会aa2话]-2天的生活
[日常会mm2话]-天气
。。。。。。。。
以-为分隔符,前部分序号递增(三位数),后部分保持不变,
并将分隔符 - 变为空格     文件在多个子目录内
语音文件夹:
001 韵尾
002 字音
。。。。。。
会话文件夹:
001 2天的生活
002 天气
。。。。。。。。

楼主是多层文件夹,pan528 的只能处理单层所以报错

TOP

回复 4# pan528


   是 win7系统  测试多遍依然显示系统找不到指定的文件,也许真的是系统问题

TOP

回复 4# pan528


    运行有效,谢谢您。

TOP

回复 3# wangdao6699

以下是我按你的描述做的实例。在我的电脑上没有问题。
你看看是否符合你的要求。
如果符合,则可能是系统有问题,我是win8系统,应该win7也是支持的。
你可以一试。

TOP

回复 2# pan528


    感谢您回复,运行显示:系统找不到指定的文件

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=1-2 delims=-" %%a in ('dir /b /o /a:d') do (
  4. set m=%%a
  5. if "!m:~0,1!" == "[" (
  6. set /a sum+=1
  7. set "var=00!sum!"
  8. ren "%%a-%%b" "!var:~-3! %%b"
  9. ) else (
  10. set /a sum2+=1
  11. set "var=00!sum2!"
  12. ren "%%a-%%b" "!var:~-3! %%b"
  13. ))
  14. pause
复制代码
1

评分人数

TOP

返回列表