[英]regex pattern to match current directory in dir output
我尝试从Windows中dir
命令产生的输出中提取特定目录的创建日期。
例:
dir c:\\folder\\Myfolder\\ /T:C /A:D
输出:
22-11-2013 15:09 <DIR> .
22-11-2013 15:09 <DIR> ..
21-03-2015 14:32 <DIR> Folder1
12-09-2014 11:03 <DIR> Folder2
18-10-2016 13:29 <DIR> Folder3
我试图将输出传递给findstr
以便使用正则表达式。 但是dir c:\\folder\\Myfolder\\ /T:C /A:D | findstr \\r "\\."
dir c:\\folder\\Myfolder\\ /T:C /A:D | findstr \\r "\\."
同时显示.
和..
线。
我需要的是Myfolder
的日期和时间(即以.
Myfolder
),以便为此文件夹创建一个时间戳。
对于最后一次写入时间,不需要管道findstr
。 可以检索与以下相同的信息
for /d %%a in ("c:\folder\Myfolder") do echo %%~ta
使用~t
的修改for
替换参数来检索文件的时间戳。
但是该方法不能用于检索文件夹创建时间(如Magoo注释)。 要检索它,您将需要保持原始方法
dir /tc /ad "c:\folder\Myfolder\.?" | findstr /e /c:" \."
( .?
只是为了缩短要由findstr
和dir
的枚举时间过滤的列表)
或者您可以使用wmic
(在这种情况下,必须更改文件夹命名格式,将反斜杠加倍)
wmic fsdir where name="c:\\folder\\Myfolder" get CreationDate /value
在这种情况下,您会得到类似
CreationDate=20160927171354.871547+120
dir c:\folder\Myfolder\ /ad /t:c|findstr /L /e /c:" ."
应该产生您想要的数据
findstr /L
文字/e
在/c:" ."
结尾/c:" ."
常量字符串空间 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.