小编教你如何使用PowerShell批量查找【win10教程】

时间:2022-10-27 10:13:34

作者:linwenxiang

来源:纯净之家

  如果我们想在Win10系统众多文件中查找关键字,我们能使用Win10自带的搜索功能,但这样速度会很慢的,也无法对关键词进行高亮标注的,那么我们可以借助PowerShell来批量查找,更方便更快,具体怎么操作的,请看下文介绍。

  操作方法

  自制脚本查找关键字

  笔者的QQ接收文件夹收到很多同事发来的工作文件(均为TXT格式的纯文本文件),现在需要在其中找出包含“2021订货信息”文本的文件。由于这些文件使用多种编码格式(ANSI、Unicode都有),为了避免在PowerShell中显示为乱码,需要先将PowerShell的编码格式设置为“Unicode UTF-8”。

  展开控制面板的“时钟和区域→区域”,点击“更改日期、时间或数字格式”。在打开的窗口中切换到“管理”选项卡,点击“非Unicode程序的语言”下的“更改系统区域设置”,在打开的窗口中勾选“Beta版: 使用Unicode UTF-8提供全球语言支持(U)”,最后依次点击两次“确定”退出(图1)。

小编教你如何使用PowerShell批量查找【win10教程】

  启动PowerShell后输入“CD E:qq123456FileRecv”并回车(输入每条命令后均需按下回车键确认,下同),进入QQ账号(123456)文件接收目录。接着再输入“Select-String (Get-ChildItem | ?{$_.name -like “*.txt”}) -pattern “$(Read-Host)””,表示在接收目录中遍历其中的TXT文件。最后再输入需要查找的关键字,如“2021订货信息”。

  这样在PowerShell窗口中就会显示所有包含上述关键字的TXT文件,并提示关键字所在的行位置。比如“17-hdz-xyxxr(1).txt:9:2021订货信息 广州2021.02.23”,表示需要查询的关键字在“17-hdz-xyxxr(1).txt”文件中第9行的位置(图2)。

小编教你如何使用PowerShell批量查找【win10教程】

  现在按照上述提示,使用记事本程序打开“E:qq123456FileRecv17-hdz-xyxxr(1).txt”,依次点击菜单栏中的“格式→去除自动换行前的勾选”,继续点击“查看→勾选状态栏”,现在就可以在记事本窗口下方的状态栏中看到显示的行号,按提示定位到第9行,即可看到查找的关键字了(图3)。

小编教你如何使用PowerShell批量查找【win10教程】

  小提示:

  利用上述命令,我们可以在指定的目录中快速找到所有包含关键字的文件,使用同样的方法可以查找日志文件(将*.txt更换为*.log即可)中的信息,比如可以使用“QQ”作为关键字,在审核日志中快速找到所有的QQ审核事件。

  借助外力 使用开发脚本查找关键字

  上述方法虽然简单,但由于很多朋友并不熟悉PowerShell的语法,因此对于一些更为复杂的查找,我们还可以直接使用现成的脚本。比如某电商将所有客户的发货信息均保存在“E:发货”下不同的.xlsx文件中并授权给特定的人员使用,现在需要在其中找到客户名为“张三”的所有发货信息。

  首先以管理员身份启动PowerShell,输入并执行“set-executionpolicy remotesigned”命令,当屏幕出现选择提示时,输入“a”(表示确认安装所有脚本)确认(图4)。

小编教你如何使用PowerShell批量查找【win10教程】

  接着在上述窗口中再输入并执行“Install-Module -Name ImportExcel”命令,此时Windows的安全中心会弹出拦截通知消息,按提示点击消息,在打开的“保护历史记录”窗口中,依次点击“操作→允许在设备上”,允许安装脚本(图5)。

小编教你如何使用PowerShell批量查找【win10教程】

  然后返回到PowerShell窗口,在屏幕提示是否安装时输入“Y”确认安装,这样可以将所需的脚本安装到本机的默认目录中(图6)。完成脚本的安装后到“https://share.weiyun.com/EkERDO8t”下载查询脚本“1.psl”并放置在桌面上,使用记事本打开后全选其中的内容,然后将其粘贴到PowerShell的窗口中并回车运行。

小编教你如何使用PowerShell批量查找【win10教程】

  最后再输入查询命令“get-deliveryinfo -user “张三” | ft”,回车后就可以在窗口中显示查询结果。上述命令会在指定目录(即“E:发货”,如果需要查询其他目录或文件类型,如xls,请自行更改“1.psl”中相应的代码)下遍历所有的xlsx文件,并将符合要求的结果显示在屏幕上,我们可以直接复制查询结果(图7)。

小编教你如何使用PowerShell批量查找【win10教程】

  小提示:

  因为脚本服务器联机下载的速度较慢,如果在PowerShell窗口一直无法完成脚本的下载,大家还可以直接到“https://www.powershellgallery.com/packages/ImportExcel”,离线下载所需的脚本文件。下载到的是一个.nupkg文件,可以使用7-Zip打开,并将其解压到“C:Program FilesWindowsPowerShellModules”完成手动安装。

系统下载排行榜71011xp

提取码
XGZS
关闭 前往下载