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

[文件操作] 批处理命令,改文件名字

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
......

回复 1# netdzb
  1. @echo off
  2. for /f "delims=" %%i in ('powershell -c "Get-Date -UFormat '%%Y-%%m-%%d'"') do (
  3.     set "SysTS=%%i"
  4. )
  5. for /f "tokens=1-2 delims=-" %%i in ('dir /b /a-d "untitled-*.png"') do (
  6.     ren "%%i-%%j" "%SysTS%-%%j"
  7. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 4# netdzb


    不是。因为你顶楼的描述并未说出这个需求,所以2楼的代码里面也没有写这部分的功能。跟文件名长度没关系。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 yhcfsr 于 2020-5-31 19:03 编辑
  1. @echo off
  2. set "day=%date:/=-%"
  3. set "day=%day:~,10%"
  4. for /r %%a in (*.png) do (
  5.         set "name=%%~na"
  6.         setlocal enableDelayedExpansion
  7.         set name=!name:*-=!
  8.         echo;ren "%%a" "%day%-!name!%%~xa"
  9.         endlocal
  10. )
  11. pause
复制代码
试运行,看运行信息,如果无误,将第10行的"echo;"删除后,再运行即可生效.
QQ 33892006

TOP

本帖最后由 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相关的图片。

TOP

回复 2# smss

我去试试看,谢谢!

TOP

本帖最后由 smss 于 2020-5-31 16:28 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. 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"
  3. echo 批量重命名完成!
  4. pause
复制代码
  1. @echo off&setlocal enabledelayedexpansion&set n=0
  2. 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"
  3. echo 批量重命名完成!
  4. pause
复制代码
2套你试试

TOP

返回列表