我有一个文本文件。与此类似。
This is a sample data.
This is a sample data.
This is a sample data.
Sat Jun 06 08:17:01 2015
WARNING: Cannot delete file.
Error-101
Error-100
Error-102
This is a sample data.
This is a sample data.
Error-10666
This is a sample data.
Sat Jun 06 10:17:01 2015
File deleted.
This is a sample data.
This is a sample data.
Sat Jun 06 10:17:01 2015
File deleted.
Sat Jun 06 11:17:01 2015
WARNING: Cannot delete file.
Error-101
This is a sample data.
Sat Jun 06 18:17:01 2015
WARNING: Cannot delete file.
Error-101
This is a sample data.
该文件包含一个月的数据。
一个目录中可能有多个这样的文件。脚本需要检查今天修改的文件。
我想要得到错误-???(整行错误-)今天日期的值。
到目前为止我已经创建了这个。
$cur_date1 = get-date -UFormat %c
$curdate = (get-date).ToString("ddMMyyyy")
ForEach ($system in (Get-Content D:\Script\system.txt)) {
$dir = "\\$system\D$\Error\"
$latest = Get-ChildItem -Path $dir -Filter error*.txt | where{$_.LastWriteTime.ToString("ddMMyyyy") -eq $date }
$files=$latest.name
Foreach($file in $files){
$path= $dir+$file
$search = Get-Content $path
$a = $search| if($_ -eq $curdate){
Where-Object{$_.Contains("Error-") }
}
}
}
我可以检查今天创建的文件。
我可以获得整个文件的内容。
我可以搜索错误字符串,但无法搜索当前日期。
有人可以就此给我建议吗?
Thanks.
如果标题或描述需要进行任何更改,请这样做。
谢谢你的时间。
Update
只是为了通知您我的系统日期时间格式如下。日/月/年 时:分:秒
您可以尝试将每一行转换为日期时间。然而,这不是标准的日期格式,所以[datetime]::TryParse()
不太可能起作用。这意味着您需要使用[datetime]::TryParseExact() https://msdn.microsoft.com/en-us/library/ms131044(v=vs.110).aspx,这比较令人恼火,因为您必须为其提供一个提供程序和一种样式,即使您可能没有使用其中任何一个。
$dateString = 'Sat Jun 06 08:17:01 2015';
[System.Globalization.CultureInfo]$provider = [System.Globalization.CultureInfo]::InvariantCulture;
[System.Globalization.DateTimeStyles]$style = [System.Globalization.DateTimeStyles]::None;
$format = "ddd MMM dd HH:mm:ss yyyy";
[ref]$parsedDate = get-date;
[DateTime]::TryParseExact($dateString, $format, $provider, $style, $parsedDate);
$parsedDate.Value;
需要注意的一个关键点是,两者TryParse()
and TryParseExact()
不返回值;解析成功时返回 True,失败时返回 False。为了传递结果,您可以通过引用传递变量,并且函数会修改引用的变量。$parsedDate.Value
是实际日期时间值的位置,因为$parsedDate
本身就是一个引用(指针)。
如果函数失败并返回 false,$parsedDate
将有一个值[datetime]::MinValue
(0001 年 1 月 1 日)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)