📜  循环中的 cmd echo datetime (1)

📅  最后修改于: 2023-12-03 14:54:15.592000             🧑  作者: Mango

循环中的 cmd echo datetime

在编写批处理脚本时,循环结构的使用是很常见的,而在循环中输出时间戳,则可以使用 cmd 中的 echo datetime 命令。下面我们就来详细介绍如何使用 cmd 中的循环语句和 echo datetime 命令。

循环语句

cmd 中提供了两种循环结构,一种是 for 循环,另一种是 goto 循环。

for 循环

for 循环通常用于遍历一组元素或文件列表,并执行指定操作。其语法如下:

for %变量名 in (列表) do (
    命令
)

其中 %变量名 是自定义的变量名,列表包括要遍历的元素或文件列表,do 标志着要执行的操作,可以是任意命令或多个命令。

例如,以下的例子演示了如何使用 for 循环遍历一个数字列表,并输出每个数字:

for /l %i in (1,1,10) do (
    echo %i
)
goto 循环

goto 循环是基于跳转语句定义的无限循环。其语法如下:

:标签名
命令
goto 标签名

其中 :标签名 是自定义的标签名,命令 是要执行的命令,goto 标签名 表示跳转到指定的标签位置,实现循环。

例如,以下的例子演示了如何使用 goto 循环输出当前的时间戳:

:loop
echo %time%
goto loop
echo datetime

echo datetime 命令通常用于输出当前的时间戳。其语法如下:

echo %date% %time%

其中 %date%%time% 分别代表当前的日期和时间。默认情况下,输出格式如下:

星期几 YYYY/MM/DD HH:MM:SS.MS

如果要输出指定格式的时间戳,可以通过修改国家/地区语言设置中的时间格式来实现。例如,将时间格式修改为 H:MM:SS,则可以输出如下格式的时间戳:

13:19:34
示例代码

以下是一个使用 for 循环和 echo datetime 命令遍历指定目录中的所有文件并输出时间戳的示例代码:

@echo off
setlocal enabledelayedexpansion

set "dir_path=C:\Windows"

for /r "%dir_path%" %%a in (*) do (
    echo %%a : !date! !time!
)

其中 %dir_path% 是要遍历的目录路径,%%a 是遍历到的文件名称,!date! !time! 是时间戳。使用 echo off 命令可以关闭命令行窗口中的命令输出,从而提高脚本执行效率。使用 setlocal enabledelayedexpansion 命令可以启用延迟扩展,确保时间戳可以正确展开。