“对于”命令,在Windows的“FINDSTR”命令提示符
问题描述:
在不同的岗位,我发现这个解决方案的文件重命名为在ISO格式的当前日期:“对于”命令,在Windows的“FINDSTR”命令提示符
FOR /F %%A IN ('WMIC OS GET LocalDateTime ^| FINDSTR \.') DO @SET B=%%A
copy test.java %B:~0,4%-%B:~4,2%-%B:~6,2%.java
我明白了一切,除了这部分:
^| FINDSTR \.
它是做什么的?因为“WMIC OS GET LocalDateTime”有这种格式
LocalDateTime
20150223064808.538000+060
我假设它以某种方式限制了刺痛。但是如何?
答
该行有几件事情正在进行。
^
是批次的转义字符。它在那里,以便下一个字符不会中断for循环。 |
是一个管道,它将其左侧的命令输出发送到其右侧的命令。 FINDSTR
搜索字符串并返回找到的任何字符串。
下面是它变得有点复杂的地方: \
是findstr的转义字符,并允许字面解释下一个字符。 .
仅仅是一个时期,但没有前述\
,这是一个单字符通配符(f.re便拿起车费和火灾等)
wmic os get localdatetime
运行wmic
,并返回本地日期和时间,以及其输出看起来是这样的:
LocalDateTime
20150223010540.071000-300
当通过管道将它FINDSTR告诉FINDSTR可以返回包含一个周期线,你会得到
20150223010540.071000-300
而且那么整个事件就在for /F
循环内部,因此该命令的输出可以存储在一个变量中。