批量循环w /时间戳

phe*_*cie 2 datetime for-loop batch-rename batch-processing

我需要在一个循环中重命名多个文件并包含一个时间戳...我的斗争开始于更新每个文件的时间戳,因此该文件具有唯一的名称.

setlocal enabledelayedexpansion
SET date=%date:~-4,4%%date:~-10,2%%date:~-7,2%
for /f %%a in ('dir /b TCA_*') do (SET
time=%time:~-11,2%%time:~-8,2%%time:~-5,2%%time:~-2,2%  
ren %%a %date%TCA_%time%.txt)
Run Code Online (Sandbox Code Playgroud)

谢谢

BDM*_*BDM 5

在循环中,变量不会更新.为了环绕这个,setlocal enabledelayedexpansion添加了脚本.

基本上,如果您希望它们更新,您需要用感叹号(!)而不是百分号(%)来包装它们.