标题: [文件操作] [分享]批处理重命名文件添加当前日期作为前缀 [打印本页]
作者: Batcher 时间: 2022-5-12 14:55 标题: [分享]批处理重命名文件添加当前日期作为前缀
【问题描述】
我有很多文件,我想把文件名改了,文件名前面加文件的修改时间,我想改成文件名前面加:比如今天的日期, 2022.05.12-
作者: Batcher 时间: 2022-5-12 14:55
【解决方案】- @echo off
- cd /d "%~dp0"
- for /f "delims=" %%i in ('powershell -c "Get-Date -UFormat '%%Y.%%m.%%d'"') do (
- set "SysTS=%%i"
- )
- REM 假设需要重命名的是当前目录下的txt文件
- for /f "delims=" %%i in ('dir /b /a-d *.txt') do (
- ren "%%i" "%SysTS%-%%i"
- )
复制代码
作者: Batcher 时间: 2022-5-12 17:15
问:把各种文件的文件名前加前缀
答:- @echo off
- cd /d "%~dp0"
- for /f "delims=" %%i in ('powershell -c "Get-Date -UFormat '%%Y.%%m.%%d'"') do (
- set "SysTS=%%i"
- )
- for /f "delims=" %%i in ('dir /b /a-d ^| findstr /v /x "%~nx0"') do (
- ren "%%i" "%SysTS%-%%i"
- )
复制代码
作者: Batcher 时间: 2022-5-12 17:47
问:显示的是今天的日期 不是文件最后的修改日期
答:- @echo off
- cd /d "%~dp0"
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /b /a-d ^| findstr /v /x "%~nx0"') do (
- for /f %%j in ('dir "%%i" 2^>nul ^| findstr /c:"%%i"') do (
- set "FileDate=%%j"
- set "FileDate=!FileDate:/=.!"
- ren "%%i" "!FileDate!-%%i"
- )
- )
复制代码
作者: Batcher 时间: 2022-5-12 18:19
问:可以了 能再改一下把文件夹里面所有子文件夹内的文件都可被处理吗
答:- @echo off
- cd /d "%~dp0"
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /b /s /a-d ^| findstr /v /i /l "%~f0"') do (
- for /f %%j in ('dir "%%i" 2^>nul ^| findstr /c:"%%~nxi"') do (
- set "FileDate=%%j"
- set "FileDate=!FileDate:/=.!"
- ren "%%i" "!FileDate!-%%~nxi"
- )
- )
复制代码
作者: Batcher 时间: 2022-5-12 21:57
问:中文目录下执行失败
答:- @echo off
- cd /d "%~dp0"
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /b /s /a-d ^| find /v /i "%~f0"') do (
- echo 正在处理文件 %%i
- for /f %%j in ('dir "%%i" 2^>nul ^| findstr /c:"%%~nxi"') do (
- set "FileDate=%%j"
- set "FileDate=!FileDate:/=.!"
- ren "%%i" "!FileDate!-%%~nxi"
- )
- )
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |