【问题标题】:Powershell Select-String and then obtain data on returned filesPowershell Select-String 然后获取返回文件的数据
【发布时间】:2012-02-25 02:51:46
【问题描述】:

我承认我今天很累,但这也不能成为我目前使用 Powershell 为自己制造的噩梦的借口。

基本上,目的是在目录中搜索包含在某些 word 文档中的字符串。然后我需要返回文件名、创建日期和最后一次写入时间。我想很容易,但在某些阶段我已经偏离轨道并且仍在攀爬。

到目前为止,我所做的是运行搜索并将路径变量导出到一个文本文件,为我提供包含该字符串的文件的路径。然后,我尝试使用 foreach 循环加载文件的内容,并针对通过管道传输到 Select-Object Name、CreationTime、LastWriteTime 的每个条目运行 Get-ChildItem。我终于把它变成了一个文本文件。但是,它现在似乎正在为目录中的每个文件重新提供信息,而不仅仅是那些包含我正在搜索的字符串的信息。我有一种感觉,因为我倾向于将这些事情复杂化。非常感谢任何帮助。

Get-ChildItem -Recurse -Include *.doc | Select-String "Shiba" | select-object path > C:\TRCALM\shibapath.txt


$files = get-content C:\TRCALM\shibapath.txt


foreach($i in $files){gci $i | select-object Name,CreationTime,LastWriteTime > C:\TRCALM\SHIBADates.txt}

【问题讨论】:

    标签: string search powershell powershell-2.0


    【解决方案1】:

    你快到了:

    $files = (Get-ChildItem  -Recurse -Include *.doc | Select-String "Shiba"| select-object path )
    $k = foreach($i in $files){ (gci $i.Path | select-object Name,CreationTime,LastWriteTime) } 
    $k > C:\pst\SHIBADates.txt 
    

    【讨论】:

    • 我是否正确地认为是因为我没有在命令中使用 $i.Path 才从目录中恢复所有文件?
    • 如果文件格式在同一行上也不是很好,至少对我来说
    猜你喜欢
    • 2020-09-26
    • 1970-01-01
    • 2019-07-17
    • 1970-01-01
    • 2020-08-19
    • 2017-05-04
    • 1970-01-01
    • 1970-01-01
    • 2021-10-29
    相关资源
    最近更新 更多