小编yor*_*man的帖子

如何在 FOR 循环中获取当前日期

我在 C:\myscript.bat 中有以下代码示例

for /f %%i in ('dir "C:\files" /b /a-d /o-d') do (
if /i "%%~xi"==".vib" (
gsutil cp c:\files\%%i gs://mybucket
call :GetDate
echo %dt% File %%i was uploaded )
)
:done

:GetDate
set X=
for /f "skip=1 delims=" %%x in ('wmic os get localdatetime') do if not defined X set X=%%x
set DATE.YEAR=%X:~0,4%&set DATE.MONTH=%X:~4,2%&set DATE.DAY=%X:~6,2%&set DATE.HOUR=%X:~8,2%&set DATE.MINUTE=%X:~10,2%&set DATE.SECOND=%X:~12,2%
set dt=%DATE.MONTH%-%DATE.DAY%-%DATE.YEAR%_%DATE.HOUR%-%DATE.MINUTE%-%DATE.SECOND%
exit /b
Run Code Online (Sandbox Code Playgroud)

我的问题是在 FOR 循环内调用 GetDT 时在“echo %dt% File %%i was updated”中获取当前日期。只要我在 FOR 循环之外调用 :GetDate ,它就可以正常工作。我已经花了大约 4 个多小时,似乎无法让它在 …

windows for-loop cmd batch-file

0
推荐指数
1
解决办法
105
查看次数

标签 统计

batch-file ×1

cmd ×1

for-loop ×1

windows ×1