我正在尝试获取文件名中带有日期戳的文件内容(WH.FBTBT20130214.csv)。我为今天创建了一个日期戳变量,但在google中找不到任何东西来告诉我如何使用相同的格式回溯我的日期戳。下面是我在批处理文件中创建的代码:
@echo off
REM ***** 20130215 MS Define DateStamp variable *****
Set DateStamp=%date:~10,4%%date:~4,2%%date:~7,2%
Set DateStamp=%DateStamp%
REM Set DateStamp=20130212
echo DateStamp: %DateStamp%任何帮助/指导都将不胜感激。谢谢。
发布于 2013-02-15 23:36:31
你不能总是从日期中减去1就得到昨天的日期。今天是三月一号。昨天是什么日子?三月0号?不是这样的。更好的方法是使用vbscript的Date()对象,然后从该对象中减去一天。
@echo off
setlocal
REM ***** 20130215 MS Define DateStamp variable *****
echo d = DateAdd^("d", -1, Date^(^)^)>yesterday.vbs
echo wscript.echo DatePart^("yyyy", d^) ^& "/" ^& DatePart^("m", d^) ^& "/" ^& DatePart^("d", d^)>>yesterday.vbs
for /f "tokens=1-3 delims=/" %%I in ('cscript /nologo yesterday.vbs') do (
set Year=%%I
if %%J LEQ 9 (set Month=0%%J) else set Month=%%J
if %%K LEQ 9 (set Day=0%%K) else set Day=%%K
)
set DateStamp=%Year%%Month%%Day%
del /q yesterday.vbs
echo %DateStamp%发布于 2013-02-15 23:18:50
我找到了答案。如果有人感兴趣的话:
设置/A DateStamp=(%date:~10,4%%date:~4,2%%date:~7,2%)-1
echo DateStamp:%DateStamp%
https://stackoverflow.com/questions/14897097
复制相似问题