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

[文件操作] 求助批处理把文件名最大的加1

2024年01月19日 - 收集池清单v5.XLS
2024年01月19日 - 清单v5.XLS
2024年01月19日 - 收集池清单v4.XLS
2024年01月19日 - 清单v4.XLS
2024年01月19日 - 收集池清单v3.XLS
2024年01月19日 - 清单v3.XLS


运行批处理,V5(最大的数)自动加1,成V6

怎么处理?

请多提供几个文件名
比如按规律填空
1 (?)
这怎么填
bat小白,请多指教!谢谢!

TOP

回复 2# 77七


    不好意思,我的问题,没表达清楚,已经修改

TOP

本帖最后由 77七 于 2024-3-14 12:46 编辑

回复 3# 单车少男


  1. @echo off
  2. cd /d "%~dp0"
  3. setlocal enabledelayedexpansion
  4. for /f "delims=" %%i in ('dir /b /a-d "* - *v*.*"^|find /v "%~nx0"') do (
  5. for /f "tokens=1-3 delims=v- " %%a in ("%%~ni") do (
  6. set /a n=%%c+1000000,m=%%c+1
  7. set #"%%b"#"!n!"#"%%i"=%%a - %%bv!m!%%~xi
  8. )
  9. )
  10. for /f "tokens=1-4 delims=#=" %%a in ('set # ^|sort /r') do (
  11. if not defined _"%%~a" (
  12. ren "%%~c" "%%d"
  13. set _"%%~a"=1
  14. )
  15. )
  16. endlocal
  17. pause
复制代码
bat小白,请多指教!谢谢!

TOP

回复 4# 77七


    REN 改成 copy  可以了

新增后,打开呢,怎么搞

TOP

回复 4# 77七


    后缀xlsx,换成docx 无法用吗

TOP

回复 5# 单车少男


  
  1. for /f "tokens=1-4 delims=#=" %%a in ('set # ^|sort /r') do (
  2. if not defined _"%%~a" (
  3. copy "%%~c" "%%d"
  4. "%%d"
  5. timeout 2 >nul
  6. set _"%%~a"=1
  7. )
  8. )
复制代码
bat小白,请多指教!谢谢!

TOP

回复 6# 单车少男


   应该不影响,不行把失败的docx文件名发出来看看
bat小白,请多指教!谢谢!

TOP

回复 8# 77七


    物联截污V3.docx
    物联截污V4.docx

TOP

回复 9# 单车少男


   所以说我在2楼让你多发几个文件名..代码应该重写了...
bat小白,请多指教!谢谢!

TOP

回复 7# 77七


   

"%%d"

改成  start   "%%d"  怎么不能打开么

TOP

回复 11# 单车少男


   start "" "%%d"
bat小白,请多指教!谢谢!

TOP

回复 12# 77七


    出错的

TOP

回复 13# 单车少男


   
文件类型没有关联软件吗?
start "" "软件完整路径" "文件名" 试试
bat小白,请多指教!谢谢!

TOP

回复 9# 单车少男


  
  1. @echo off
  2. cd /d "%~dp0"
  3. setlocal enabledelayedexpansion
  4. for /f "delims=" %%i in ('dir /b /a-d "*v*.*"') do (
  5. set file=%%i
  6. for /f "delims=" %%a in ("!file:v=/!") do (
  7. set /a n=%%~na+1,m=1000000+%%~na
  8. set #"!file:v%%~nxa=!"#"!m!"=!file:%%~nxa=!!n!%%~xi
  9. )
  10. )
  11. for /f "tokens=1-3 delims=#=" %%a in ('set # ^|sort /r') do (
  12. if not defined _"%%~a" (
  13. set _"%%~a"=1
  14. cd.>"%%c"
  15. start "" "%%c"
  16. timeout 2
  17. )
  18. )
  19. endlocal
  20. pause
复制代码
bat小白,请多指教!谢谢!

TOP

返回列表