标题: [文件操作] 求助批处理把文件名最大的加1 [打印本页]
作者: 单车少男 时间: 2024-3-14 11:35 标题: 求助批处理把文件名最大的加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
怎么处理?
作者: 77七 时间: 2024-3-14 11:53
请多提供几个文件名
比如按规律填空
1 (?)
这怎么填
作者: 单车少男 时间: 2024-3-14 12:04
回复 2# 77七
不好意思,我的问题,没表达清楚,已经修改
作者: 77七 时间: 2024-3-14 12:45
本帖最后由 77七 于 2024-3-14 12:46 编辑
回复 3# 单车少男
- @echo off
- cd /d "%~dp0"
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /b /a-d "* - *v*.*"^|find /v "%~nx0"') do (
- for /f "tokens=1-3 delims=v- " %%a in ("%%~ni") do (
- set /a n=%%c+1000000,m=%%c+1
- set #"%%b"#"!n!"#"%%i"=%%a - %%bv!m!%%~xi
- )
- )
- for /f "tokens=1-4 delims=#=" %%a in ('set # ^|sort /r') do (
- if not defined _"%%~a" (
- ren "%%~c" "%%d"
- set _"%%~a"=1
- )
- )
- endlocal
- pause
复制代码
作者: 单车少男 时间: 2024-3-14 12:53
回复 4# 77七
REN 改成 copy 可以了
新增后,打开呢,怎么搞
作者: 单车少男 时间: 2024-3-14 12:59
回复 4# 77七
后缀xlsx,换成docx 无法用吗
作者: 77七 时间: 2024-3-14 13:07
回复 5# 单车少男
- for /f "tokens=1-4 delims=#=" %%a in ('set # ^|sort /r') do (
- if not defined _"%%~a" (
- copy "%%~c" "%%d"
- "%%d"
- timeout 2 >nul
- set _"%%~a"=1
- )
- )
复制代码
作者: 77七 时间: 2024-3-14 13:08
回复 6# 单车少男
应该不影响,不行把失败的docx文件名发出来看看
作者: 单车少男 时间: 2024-3-14 13:10
回复 8# 77七
物联截污V3.docx
物联截污V4.docx
作者: 77七 时间: 2024-3-14 13:13
回复 9# 单车少男
所以说我在2楼让你多发几个文件名..代码应该重写了...
作者: 单车少男 时间: 2024-3-14 13:14
回复 7# 77七
"%%d"
改成 start "%%d" 怎么不能打开么
作者: 77七 时间: 2024-3-14 13:41
回复 11# 单车少男
start "" "%%d"
作者: 单车少男 时间: 2024-3-14 13:47
回复 12# 77七
出错的
作者: 77七 时间: 2024-3-14 14:06
回复 13# 单车少男
文件类型没有关联软件吗?
start "" "软件完整路径" "文件名" 试试
作者: 77七 时间: 2024-3-14 14:07
回复 9# 单车少男
- @echo off
- cd /d "%~dp0"
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /b /a-d "*v*.*"') do (
- set file=%%i
- for /f "delims=" %%a in ("!file:v=/!") do (
- set /a n=%%~na+1,m=1000000+%%~na
- set #"!file:v%%~nxa=!"#"!m!"=!file:%%~nxa=!!n!%%~xi
- )
- )
- for /f "tokens=1-3 delims=#=" %%a in ('set # ^|sort /r') do (
- if not defined _"%%~a" (
- set _"%%~a"=1
- cd.>"%%c"
- start "" "%%c"
- timeout 2
- )
- )
- endlocal
- pause
复制代码
作者: 单车少男 时间: 2024-3-16 10:36
回复 15# 77七
新文件,文件大小为0,
作者: 77七 时间: 2024-3-16 10:59
- @echo off
- cd /d "%~dp0"
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /b /a-d "*v*.*"') do (
- set file=%%i
- for /f "delims=" %%a in ("!file:v=/!") do (
- set /a n=%%~na+1,m=1000000+%%~na
- set #"!file:v%%~nxa=!"#"!m!"#"!file!"=!file:%%~nxa=!!n!%%~xi
- )
- )
- for /f "tokens=1-4 delims=#=" %%a in ('set # ^|sort /r') do (
- if not defined _"%%~a" (
- set _"%%~a"=1
- copy "%%~c" "%%d"
- start "" "%%d"
- timeout 2
- )
- )
- endlocal
- pause
复制代码
回复 16# 单车少男
作者: 单车少男 时间: 2024-3-16 11:25
回复 17# 77七
可以了,能加个好友吗?
另外文件格式能不能排除一下PDF文件,
作者: 77七 时间: 2024-3-16 11:55
回复 18# 单车少男
代码第4行改为- for /f "delims=" %%i in ('dir /b /a-d "*v*.*" ^|findstr /rviec:"\.pdf"') do (
复制代码
作者: 单车少男 时间: 2024-3-16 14:01
回复 19# 77七
这个可以,加个好友呢
作者: 77七 时间: 2024-3-16 15:20
回复 20# 单车少男
因为我水平十分有限,有问题站里发帖就行,遇到我不会的我也能学习下。
作者: 单车少男 时间: 2024-3-18 18:07
回复 21# 77七
非常感谢
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |