标题: [文件操作] 批处理命令,改文件名字 [打印本页]
作者: netdzb 时间: 2020-5-31 14:09 标题: 批处理命令,改文件名字
untitled-1.png
untitled-2.png
untitled-3.png
untitled-4.png
untitled-5.png
untitled-6.png
改成
当前日期-1.png
也就是 2020-05-31-1.png
2020-05-31-2.png
2020-05-31-3.png
......
作者: smss 时间: 2020-5-31 16:27
本帖最后由 smss 于 2020-5-31 16:28 编辑
- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /a-d/b *.bmp,*.jpg,*.gif,*.png') do set m=%%~ni&ren "%%i" "!date:~0,4!-!date:~5,2!-!date:~8,2!-!m:~-1!%%~xi"
- echo 批量重命名完成!
- pause
复制代码
- @echo off&setlocal enabledelayedexpansion&set n=0
- for /f "delims=" %%i in ('dir /a-d/b *.bmp,*.jpg,*.gif,*.png') do set /a n+=1&ren "%%i" "!date:~0,4!-!date:~5,2!-!date:~8,2!-!n!%%~xi"
- echo 批量重命名完成!
- pause
复制代码
2套你试试
作者: netdzb 时间: 2020-5-31 16:36
回复 2# smss
我去试试看,谢谢!
作者: netdzb 时间: 2020-5-31 17:16
本帖最后由 netdzb 于 2020-5-31 17:21 编辑
回复 2# smss
set m=%%~nx
echo %m%
为啥我想调试一下却看不到%m%的输出?
utitled-1,untile-2,untitled-3的按日期改名,btitled-1,btitled-2,btitled-3的不改名,
应该怎么写?
你这个只要和untitled长度一样的都会改名字吧,我的需求是只要改untitled相关的图片。
作者: yhcfsr 时间: 2020-5-31 18:58
本帖最后由 yhcfsr 于 2020-5-31 19:03 编辑
- @echo off
-
- set "day=%date:/=-%"
- set "day=%day:~,10%"
-
- for /r %%a in (*.png) do (
- set "name=%%~na"
- setlocal enableDelayedExpansion
- set name=!name:*-=!
- echo;ren "%%a" "%day%-!name!%%~xa"
- endlocal
- )
- pause
复制代码
试运行,看运行信息,如果无误,将第10行的"echo;"删除后,再运行即可生效.
作者: Batcher 时间: 2020-5-31 21:44
回复 4# netdzb
不是。因为你顶楼的描述并未说出这个需求,所以2楼的代码里面也没有写这部分的功能。跟文件名长度没关系。
作者: Batcher 时间: 2020-5-31 21:50
回复 1# netdzb - @echo off
- for /f "delims=" %%i in ('powershell -c "Get-Date -UFormat '%%Y-%%m-%%d'"') do (
- set "SysTS=%%i"
- )
- for /f "tokens=1-2 delims=-" %%i in ('dir /b /a-d "untitled-*.png"') do (
- ren "%%i-%%j" "%SysTS%-%%j"
- )
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |