当前位置: 首页 > 知识库问答 >
问题:

在批处理脚本上获取HH: MM[复制]

陈俊誉
2023-03-14

我只需要得到HH:MM来进行代码工作,但如果我这样做,那么变量是HH:MM:SS,我如何打破字符串或使其仅显示小时和分钟?

共有2个答案

傅和璧
2023-03-14

您的想法最大的问题是,跨地区、PC或用户的输出格式不一致。如果您想要一种无论PC或用户设置如何都能正常工作的方法,那么以下内容可能会对您有所帮助:

@For /F "Tokens=2-3 Delims=: " %%G In ('""%__AppDir__%Robocopy.exe" \: . /NJH /L | "%__AppDir__%find.exe" " 123""') Do @Echo %%G:%%H

建议您首先使用相同的方法以已知格式保存当前日期和时间的新变量,即yyyy/MM/dd和hh:MM:ss,然后在时间1上使用变量展开,以前五个字符、5个字符或除最后三个字符以外的所有字符、-3个字符。

@For /F "Tokens=1-2" %%G In (
    '""%__AppDir__%Robocopy.exe" \: . /NJH /L | "%__AppDir__%find.exe" " 123""'
) Do @Set "NowDate=%%G" & Set "NowTime=%%H"
@Set Now & Echo hh:mm is %NowTime:~,5% & Pause

最后一行只是为您提供示例输出,您显然会根据自己的目的进行更改。

程俊健
2023-03-14
echo %TIME:~0,-3%

虽然%time%for me显示<代码>22:23:01.87

所以对我来说,

echo %TIME:~0,-6%

有关详细信息,请参阅提示符中的set/?

 类似资料:
  • 问题内容: 我正在尝试从下面给出的Java版本输出中获取‘6’ 同样,我写了这个批处理脚本 显示“ 1.6.0_21” 有人可以指导我正确的方向吗?我不太熟悉。 问题答案: 在第一个循环中,说我们将仅使用命令输出中的第三个标记。无需将命令的输出重定向到文件,我们可以在循环本身中运行此命令。插入记号()是转义字符,并且需要,所以我们可以嵌入,并在命令字符串符号。 在循环体内,我们设置了一个新的var

  • 主要内容:输出通过使用重定向命令可以在批处理脚本中进行登录。 语法 创建一个名为的文件,并在文件中输入以下命令。 上面的命令有一个错误,因为命令的选项是以错误的方式给出的。 输出 如果带有上面的文件的命令运行为 - 而打开文件,会看到下面的错误。 这个命令的语法是 - 通过键入获取更多的帮助内容。 如果打开名为的文件,它会显示一个执行命令的日志。

  • 主要内容:错误消息,复杂的命令行,子程序,Windows版本通常情况下,运行批处理文件时可能会遇到问题,而且大多数情况下都需要以某种方式调试批处理文件,以确定是批处理文件本身的问题。 以下是一些可以帮助调试批处理脚本文件的技术。 错误消息 要找出消息的来源,请按照下列步骤操作 - 第1步 - 移除,即或。 第2步 - 使用必要的命令行参数运行批处理文件,将所有输出重定向到日志文件以供以后比较。 第3步 - 在文件中搜索错误消息 第4步 - 检查上一行是否有

  • 我希望获取在Jenkins管道Groovy脚本中执行的批处理文件的结果。 我知道我可以做到这一点: 但是,我需要运行一批命令并抓取批处理文件的结果。上面的例子只有一个命令。我需要首先更改目录,然后用一个参数执行“cmd”文件。所以我尝试了以下方法: “result”变量为null,即使日志显示命令确实返回了结果。我知道我可以将批处理文件结果输出到文本文件,并读取文本文件,但我只想看看是否可以像上面

  • 我想从R脚本执行批处理文件。该文件位于类似于“网络\路径\到\批处理\文件”的目录中。bat。 我知道我可以使用R中的system命令来运行DOS命令,但我不能简单地使用system(“start file.bat”)。那么,如何最好地使用R脚本来执行这个批处理文件呢?

  • 我在这个Batch脚本中有一个语法错误,但我不知道它是从哪里来的。我是批处理新手,所以我很难弄清楚这一点。我感觉这与语句有关,但我不确定。 我得到的当前错误是: 该命令的语法不正确。