批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程
[批处理文件精品]批处理版照片整理器[批处理文件精品]纯批处理备份&还原驱动在线第三方下载
返回列表 发帖

[文件操作] [分享]批处理重命名文件添加当前日期作为前缀

【问题描述】
我有很多文件,我想把文件名改了,文件名前面加文件的修改时间,我想改成文件名前面加:比如今天的日期,   2022.05.12-
【批处理在线视频分享】http://bbs.bathome.net/thread-31727-1-1.html
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html

我帮忙写的代码不需要付钱,也不用找我要支付宝或微信账号。如果一定要给,请在群里给大家吧。

【解决方案】
  1. @echo off
  2. cd /d "%~dp0"
  3. for /f "delims=" %%i in ('powershell -c "Get-Date -UFormat '%%Y.%%m.%%d'"') do (
  4.     set "SysTS=%%i"
  5. )
  6. REM 假设需要重命名的是当前目录下的txt文件
  7. for /f "delims=" %%i in ('dir /b /a-d *.txt') do (
  8.     ren "%%i" "%SysTS%-%%i"
  9. )
复制代码
【批处理在线视频分享】http://bbs.bathome.net/thread-31727-1-1.html
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html

我帮忙写的代码不需要付钱,也不用找我要支付宝或微信账号。如果一定要给,请在群里给大家吧。

TOP

问:把各种文件的文件名前加前缀
答:
  1. @echo off
  2. cd /d "%~dp0"
  3. for /f "delims=" %%i in ('powershell -c "Get-Date -UFormat '%%Y.%%m.%%d'"') do (
  4.     set "SysTS=%%i"
  5. )
  6. for /f "delims=" %%i in ('dir /b /a-d ^| findstr /v /x "%~nx0"') do (
  7.     ren "%%i" "%SysTS%-%%i"
  8. )
复制代码
【批处理在线视频分享】http://bbs.bathome.net/thread-31727-1-1.html
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html

我帮忙写的代码不需要付钱,也不用找我要支付宝或微信账号。如果一定要给,请在群里给大家吧。

TOP

问:显示的是今天的日期 不是文件最后的修改日期
答:
  1. @echo off
  2. cd /d "%~dp0"
  3. setlocal enabledelayedexpansion
  4. for /f "delims=" %%i in ('dir /b /a-d ^| findstr /v /x "%~nx0"') do (
  5.     for /f %%j in ('dir "%%i" 2^>nul ^| findstr /c:"%%i"') do (
  6.         set "FileDate=%%j"
  7.         set "FileDate=!FileDate:/=.!"
  8.         ren "%%i" "!FileDate!-%%i"
  9.     )
  10. )
复制代码
【批处理在线视频分享】http://bbs.bathome.net/thread-31727-1-1.html
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html

我帮忙写的代码不需要付钱,也不用找我要支付宝或微信账号。如果一定要给,请在群里给大家吧。

TOP

问:可以了 能再改一下把文件夹里面所有子文件夹内的文件都可被处理吗
答:
  1. @echo off
  2. cd /d "%~dp0"
  3. setlocal enabledelayedexpansion
  4. for /f "delims=" %%i in ('dir /b /s /a-d ^| findstr /v /i /l "%~f0"') do (
  5.     for /f %%j in ('dir "%%i" 2^>nul ^| findstr /c:"%%~nxi"') do (
  6.         set "FileDate=%%j"
  7.         set "FileDate=!FileDate:/=.!"
  8.         ren "%%i" "!FileDate!-%%~nxi"
  9.     )
  10. )
复制代码
【批处理在线视频分享】http://bbs.bathome.net/thread-31727-1-1.html
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html

我帮忙写的代码不需要付钱,也不用找我要支付宝或微信账号。如果一定要给,请在群里给大家吧。

TOP

问:中文目录下执行失败
答:
  1. @echo off
  2. cd /d "%~dp0"
  3. setlocal enabledelayedexpansion
  4. for /f "delims=" %%i in ('dir /b /s /a-d ^| find /v /i "%~f0"') do (
  5.     echo 正在处理文件 %%i
  6.     for /f %%j in ('dir "%%i" 2^>nul ^| findstr /c:"%%~nxi"') do (
  7.         set "FileDate=%%j"
  8.         set "FileDate=!FileDate:/=.!"
  9.         ren "%%i" "!FileDate!-%%~nxi"
  10.     )
  11. )
复制代码
【批处理在线视频分享】http://bbs.bathome.net/thread-31727-1-1.html
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html

我帮忙写的代码不需要付钱,也不用找我要支付宝或微信账号。如果一定要给,请在群里给大家吧。

TOP

返回列表