[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 yhcfsr 于 2018-7-6 23:52 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('dir/ad/s/b') do (
  3. set/a "n=0"
  4. pushd "%%a"
  5. for /f "delims=" %%b in ('dir/a-d/b') do (
  6. set/a "n+=1"
  7. set "count=00!n!"
  8. set "count=!count:~-3!"
  9. ren "%%b" "!count!%~xb"
  10. )
  11. popd
  12. )
  13. pause
复制代码
QQ 33892006

TOP

本帖最后由 yhcfsr 于 2018-7-6 23:58 编辑

回复 3# Batcher


是的,没有考虑多余999个文件的情况,如果单个目录文件达到1000个以上,代码的中的补0操作就不适用.
所以,请题主注意,如果出现上述情况,需要对补0操作加个判定语句.
下面稍微改下代码:
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('dir/ad/s/b') do (
  3. set/a "n=0"
  4. pushd "%%a"
  5. for /f "delims=" %%b in ('dir/a-d/b') do (
  6. set/a "n+=1"
  7. set "count=!n!"
  8. if !n! lss 100 (
  9. set "count=00!count!"
  10. set "count=!count:~-3!"
  11. )
  12. ren "%%b" "!count!%%~xb"
  13. )
  14. popd
  15. )
  16. pause
复制代码
1

评分人数

QQ 33892006

TOP

回复 9# luckcsz
如果是0001,你的修改没有错
QQ 33892006

TOP

本帖最后由 yhcfsr 于 2018-7-16 12:49 编辑

回复 14# luckcsz


   你的意思是不是,所有文件采用一次性累加编码,而不是每个目录都进行重新从0001开始??
   你这种连续性追问的,最好去论坛QQ群里问。
QQ 33892006

TOP

返回列表