【发布时间】:2020-08-07 20:14:24
【问题描述】:
在一个文件夹中,我有很多文件名,例如:
ABC.DEF.GHI.YYYYMMDDhhmmss
JKL.MNO.PQR.YYYYMMDDhhmmsss
(不知道为什么有时时间戳有 9 位,基于 24 小时)
想要的结果是截断时间戳,只保留YYYMMDD 的文件名:
ABC.DEF.GHI.YYYYMMDD
JKL.MNO.PQR.YYYYMMDD
如何在脚本批处理文件、windows(不是 Linux)中执行此操作? 非常感谢您的帮助。
【问题讨论】:
-
老实说,我不相信你!我完全看不出为什么有人会创建或使用每个扩展名都完全不同并且有两种可能格式的文件,即
.YYYYMMDDhhmmss或.YYYYMMDDhhmmsss。请提供正确的实际文件名和文件结构。虽然您是 editing your question 这样做,但还请包括批处理文件代码,您希望我们为您提供帮助。考虑到您现在应该已经阅读了How to Ask 的内容,您应该知道您的问题目前不在主题范围内。 -
您可以使用带有修饰符的嵌套 for 循环分隔扩展之前的标记,以将日期/时间值分配给变量,然后使用子字符串修改修剪结果值。这样做需要启用延迟扩展。
-
@Compo,我理解你为什么不相信我有两种不同的时间格式,但这正是我得到的。这些文件是由供应商软件创建的,而不是由我创建的。我的问题中的文件名正是我所拥有的。从应用程序中,用户提交了生成文件的请求。这些文件是文本文件,但没有扩展名。生成的正确文件名如下所示:
ABC.DEF.GHI.20200908123945
JKL.MNO.PQR.20200827230
和期望的结果是
ABC.DEF.GHI .20200908
JKL.MNO.PQR.20200827
标签: batch-file timestamp filenames