Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 我们能否只提取字符串“04.07.2019 16:56:21”中的年份而不使用for循环?_Batch File - Fatal编程技术网

Batch file 我们能否只提取字符串“04.07.2019 16:56:21”中的年份而不使用for循环?

Batch file 我们能否只提取字符串“04.07.2019 16:56:21”中的年份而不使用for循环?,batch-file,Batch File,我正试图从日期和时间字符串中提取年份,比如04.07.2019 16:56:21。我是否可以在批处理脚本中仅提取年份而不使用for循环?在为日志条目设置变量时,我通常更喜欢这种方法: @echo off set "year=%DATE:~-4%" echo %year% pause 要将其从特定字符串中取出,请执行以下操作: @echo off set "string=04.07.2019 16:56:21" set "year=%string:~6,4%" echo %year%

我正试图从日期和时间字符串中提取年份,比如04.07.2019 16:56:21。我是否可以在批处理脚本中仅提取年份而不使用for循环?

在为日志条目设置变量时,我通常更喜欢这种方法:

@echo off

set "year=%DATE:~-4%"

echo %year%

pause
要将其从特定字符串中取出,请执行以下操作:

@echo off

set "string=04.07.2019 16:56:21"
set "year=%string:~6,4%"

echo %year%

pause
请记住%DATE%可以是特定于位置的,因此如果需要,您可以对其进行一些修改。第二个示例可以从任意位置提取日期字符串,它只跳过六个字符并显示接下来的四个字符

参考: