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

[文件操作] 修改批处理BAT代码:给子目录文件夹重命名

[复制链接]
发表于 2014-2-27 17:40:17 | 显示全部楼层
这样省略临时文件
  1. @echo off&setlocal enabledelayedexpansion
  2. %1(for /f "tokens=*" %%i in ('%~s0 :^|sort /r') do ren %%i)&pause&exit
  3. for /f "tokens=*" %%i in ('dir /ad /b /s') do (
  4.     set "file=%%i"
  5.     set "str1=%%~dpi"
  6.     if "!str1!" neq "!str2!" (
  7.        set "n=1"
  8.     ) else set /a n+=1
  9.       echo "!file!" "!n!_%%~nxi"
  10.       set "str2=%%~dpi"
  11. )
复制代码
 楼主| 发表于 2014-2-27 21:37:33 | 显示全部楼层
回复 16# terse


      terse ,您好 ,你的代码完美解决了我的问题,第二个代码更简洁!只是对我来说太深了,看不大懂,特别是 这一句  %1(for /f "tokens=*" %%i in ('%~s0 :^|sort /r') do ren %%i)  ,用了参数%1。若有时间麻烦给我逐行解释一下你的设计思路及代码含义,先谢了。
发表于 2014-2-28 09:14:37 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 22:07 , Processed in 0.015649 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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