Board logo

标题: [文件操作] [分享]批处理重命名文件添加当前日期作为前缀 [打印本页]

作者: Batcher    时间: 2022-5-12 14:55     标题: [分享]批处理重命名文件添加当前日期作为前缀

【问题描述】
我有很多文件,我想把文件名改了,文件名前面加文件的修改时间,我想改成文件名前面加:比如今天的日期,   2022.05.12-
作者: Batcher    时间: 2022-5-12 14:55

【解决方案】
  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. )
复制代码

作者: Batcher    时间: 2022-5-12 17:15

问:把各种文件的文件名前加前缀
答:
  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. )
复制代码

作者: Batcher    时间: 2022-5-12 17:47

问:显示的是今天的日期 不是文件最后的修改日期
答:
  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. )
复制代码

作者: Batcher    时间: 2022-5-12 18:19

问:可以了 能再改一下把文件夹里面所有子文件夹内的文件都可被处理吗
答:
  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. )
复制代码

作者: Batcher    时间: 2022-5-12 21:57

问:中文目录下执行失败
答:
  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://www.bathome.net/) Powered by Discuz! 7.2