powershell - 使用powershell查找位于每个用户的%AppData%目录中的特定文件类型

标签 powershell

我正在尝试使用Powershell脚本完成以下任务:

  • 查找每个用户的%AppData%目录中的所有json文件。
  • 以以下格式输出到控制台:.json found in

  • 我是PowerShell的新手,到目前为止有以下内容,
    $AppData = Get-ChildItem $env:SystemDrive\Users | where {$_.PsIsContainer} | Foreach-Object {$_.FullName}
    $Result=Get-ChildItem -Filter *.json -recurse
    
    ForEach ($result in $appdata) { IF($Result -like '*.json') {$result }} 
    

    我需要弄清楚如何将appdata的文件夹名称附加到$AppData变量输出中。

    是否有比使用ForEach循环更好的方法?

    最佳答案

    您可以使用ForEach-Object cmdlet枚举元素,然后使用Write-Host cmdlet在控制台中显示结果。像这样:

    Get-ChildItem C:\TMP -Filter '*.json' -File -Recurse | ForEach-Object {
        Write-Host $('{0} found in {1}' -f $_.Name, ([System.IO.Path]::GetDirectoryName($_.FullName)))
    }
    

    关于powershell - 使用powershell查找位于每个用户的%AppData%目录中的特定文件类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52662226/

    相关文章:

    powershell - 是否可以使用 PowerTab 为别名函数配置制表符补全?

    azure - PowerShell Azure Functions $TriggerMetadata 方法是 GET 但应该是 POST

    list - 如何创建一个输出列表(不是表格)的对象

    azure - 无法在 PowerShell Runbook 中从 Azure 存储下载模板文件

    arrays - Powershell:当数组中只剩下一个对象时如何正确计算对象数组中的项目数

    PowerShell 默认值不起作用

    powershell - Word 绕过密码保护的文件

    powershell - 从日志文件中提取值

    c# - Azure UpdateDomain 可配置性

    powershell - Invoke-Webrequest 响应的编码