我正在批处理文件中工作,如果不满10,则需要填充带有前导0的单个数字。我有环境变量中的值。它们是月和日,我需要填充以匹配我正在反对的文件结构。我正在使用vbscript返回以下列格式“7/16/2009”返回的日期。需要它看起来像“07/16/2009”,并且最重要的是需要单独的EV中的每个项目。
的VBScript:
WScript.Echo DateAdd("d", Date, -36)
批次:
for /F "tokens=1-3 delims=/" %%x in ('cscript //nologo get36thday.vbs') do (
SET YYYY=%%z
SET MM=%%x
SET DD=%%y)
答案 0 :(得分:8)
的VBScript:
dteOldDate = Now()
strNewDate = Right("00" & Month(dteOldDate), 2) & "/" & Right("00" & Day(dteOldDate), 2) & "/" & Year(dteOldDate)
答案 1 :(得分:3)
对于批处理脚本,我不知道完全语法,但批处理脚本可以从字符串的右侧侧返回指定数量的字符。< / p>
因此,在“0”字符后追加月份并取2个最右边的数字。它看起来可能与此类似:
SET MM=0%%x
SET MM=%MM:~-2%
1成为01
5成为05
10次入住10
答案 2 :(得分:0)
这是我填充字符串的方法。
在此示例中,MYVAR将填充为五个零。
SET MYVAR=00000%MYVAR%
SET MYVAR=%MYVAR:~-5%
答案 3 :(得分:0)
虽然如果你不知道要用前面的零填充的字符串的长度,其他答案是有用的,对于日期和时间,简单的字符串替换将会这样做。
set hour=!TIME:~0,2!
set hour=!hour: =0!
简而言之,如果有空格,它将被替换为0。