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

[文件操作] 文件加上序号的批处理代码怎么修改?

[复制链接]
发表于 2017-10-5 18:00:12 | 显示全部楼层 |阅读模式
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir /b /a-d') do (
  4. for /f "tokens=1-4" %%a in ("%%i") do (
  5. if not "%%i"=="%~nx0" ren "%%i" "%%a%%b%%c%%d"||del /f "%%i"
  6. ))
  7. for /f "delims=" %%i in ('dir /b /a-d') do (
  8. if not "%%i"=="%~nx0" (
  9. set /a x+=1
  10. ren "%%i" "!x!.%%i"
  11. ))
复制代码
这段代码实现了,当前文件夹下,所有文件加上序号。
现在我希望是:只给没有序号的文件加序号,有序号的就不加了。是不是可以?怎么修改?
发表于 2017-10-6 11:54:56 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir /b /a-d') do (
  4.     for /f "tokens=1-4" %%a in ("%%i") do (
  5.         if not "%%i"=="%~nx0" ren "%%i" "%%a%%b%%c%%d"||del /f "%%i"
  6.     )
  7. )
  8. for /f "delims=" %%i in ('dir /b /a-d') do (
  9.     if not "%%i"=="%~nx0" (
  10.         set file=%%i
  11.         if !file:~0,1! geq 1 (
  12.             if !file:~0,1! leq 9 (
  13.                 break
  14.             )
  15.         )
  16.         set /a x+=1
  17.         ren "%%i" "!x!.%%i"
  18.     )
  19. )
复制代码
 楼主| 发表于 2017-10-10 10:41:46 | 显示全部楼层
回复 2# Batcher


    好像不行呢,不信您试试,我的代码可以修改。您的不能
 楼主| 发表于 2017-10-12 15:07:49 | 显示全部楼层
自己顶个自己顶个自己顶个
发表于 2017-10-12 17:28:11 | 显示全部楼层
本帖最后由 zhanglei1371 于 2017-10-12 17:30 编辑

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir /b /a-d') do (
  4. echo %%i
  5. for /f "tokens=1-4" %%a in ("%%i") do (
  6. if not "%%i"=="%~nx0" ren "%%i" "%%a%%b%%c%%d"||del /f "%%i"
  7. ))
  8. for /f "delims=" %%i in ('dir /b /a-d^|findstr /v ^[0-9]*\.') do (
  9. if not "%%i"=="%~nx0" (
  10. set /a x+=1
  11. pause
  12. echo ren "%%i" "!x!.%%i"
  13. ))

复制代码
 楼主| 发表于 2017-10-19 15:01:47 | 显示全部楼层
回复 5# zhanglei1371


    我试了下,好像没有反应?
 楼主| 发表于 2017-10-22 15:55:31 | 显示全部楼层
自己顶个自己顶个自己顶个
 楼主| 发表于 2017-11-1 18:52:51 | 显示全部楼层
自己顶个自己顶个自己顶个
发表于 2017-11-2 17:00:12 | 显示全部楼层
本帖最后由 lifei259 于 2017-11-2 18:36 编辑
  1. @echo off&setlocal EnableDelayedExpansion
  2. set n=0
  3. for /f "delims=" %%i in ('dir/b/a-d^|find /v "%~nx0"') do (
  4. set /a n+=1
  5. for /f "tokens=1-3 delims=." %%a in ("%%~nxi") do (
  6. if "%%c"== "" (ren "%%i" "!n!.%%i")))

  7. pause
复制代码
 楼主| 发表于 2017-11-8 08:27:18 | 显示全部楼层
回复 9# lifei259


    成功,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 01:52 , Processed in 0.010463 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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