为 .txt 文件中添加时间戳

为 .txt 文件中添加时间戳

我有一个批处理脚本(基于这个答案):

@echo off
for /f "delims=" %%x in ('dir /b /s D:\v\*.*') do (
 echo %%x>>C:\Users\TechMadmin\Desktop\scripts\a.txt
)
move /y C:\Users\TechMadmin\Desktop\scripts\a.txt C:\Users\TechMadmin\Desktop\scripts\b.txt

批处理代码的输出是

D:\v\a.csv
D:\v\b.txt
D:\v\c.xml

%date:~4,2%%date:~7,2%%date:~10,4%_%time:~0,2%%time:~3,2%%time:~6,2%现在我的要求是向输出文件添加时间戳,即: 。

例如:我的输出文件是 D:\v\a.csv,但现在应该是

D:\v\a_%date:~4,2%%date:~7,2%%date:~10,4%_%time:~0,2%%time:~3,2%%time:~6,2%.csv
D:\v\b_%date:~4,2%%date:~7,2%%date:~10,4%_%time:~0,2%%time:~3,2%%time:~6,2%.txt
D:\v\c%date:~4,2%%date:~7,2%%date:~10,4%_%time:~0,2%%time:~3,2%%time:~6,2%.xml

答案1

我的要求是添加时间戳

使用以下批处理文件。

@echo off
set datetime=%date:~4,2%%date:~7,2%%date:~10,4%_%time:~0,2%%time:~3,2%%time:~6,2%
for /f "delims=" %%x in ('dir /b /s D:\v\*.*') do (
  echo %%~dpnx_%datetime%%%~xx>>C:\Users\TechMadmin\Desktop\scripts\a.txt
)
move /y C:\Users\TechMadmin\Desktop\scripts\a.txt C:\Users\TechMadmin\Desktop\scripts\b.txt

笔记:

  • %%~dpnx是完整的文件名,包括驱动器和路径,但不包括扩展名(示例D:\v\a)。
  • _是下划线字符。
  • %datetime%是日期时间字符串的值
  • %%~xx是文件扩展名(例如.csv)。
  • >>是重定向操作符。

  • 尚未全面测试。

    您正在使用与语言环境相关的函数来获取日期组件(与我的系统日期格式不匹配)

    • 一个简化的示例按预期工作。

如果您想要一个与日期和时间组件的区域设置无关的解决方案,请参阅我的答案在 Windows cmd 中打印日期时间获取所需代码。


进一步阅读

相关内容