平淡
筆者的QQ接收文件夾收到很多同事發(fā)來(lái)的工作文件(均為T(mén)XT格式的純文本文件),現(xiàn)在需要在其中找出包含“2021訂貨信息”文本的文件。由于這些文件使用多種編碼格式(ANSI、Unicode都有),為了避免在PowerShell中顯示為亂碼,需要先將PowerShell的編碼格式設(shè)置為“Unicode UTF-8”。
展開(kāi)控制面板的“時(shí)鐘和區(qū)域→區(qū)域”,點(diǎn)擊“更改日期、時(shí)間或數(shù)字格式”。在打開(kāi)的窗口中切換到“管理”選項(xiàng)卡,點(diǎn)擊“非Uni code程序的語(yǔ)言”下的“更改系統(tǒng)區(qū)域設(shè)置”,在打開(kāi)的窗口中勾選“Beta版: 使用Unicode UTF-8提供全球語(yǔ)言支持(U)”,最后依次點(diǎn)擊兩次“確定”退出(圖1)。
啟動(dòng)Power Shell后輸入“CD E:\ q q123456\FileRecv”并回車(chē)(輸入每條命令后均需按下回車(chē)鍵確認(rèn),下同),進(jìn)入QQ賬號(hào)(123456)文件接收目錄。接著再輸入“Select-String (Get-ChildItem | ?{$_.name -like "*.txt"}) -pattern "$(Read-Host)"”,表示在接收目錄中遍歷其中的TXT文件。最后再輸入需要查找的關(guān)鍵字,如“2021訂貨信息”。
這樣在Power Shell窗口中就會(huì)顯示所有包含上述關(guān)鍵字的TXT文件,并提示關(guān)鍵字所在的行位置。比如“17-hdz-xyxxr(1).t x t:9:2021訂貨信息 廣州2021.02.23”,表示需要查詢的關(guān)鍵字在“17-hdzxyxxr(1).txt”文件中第9行的位置(圖2)。
現(xiàn)在按照上述提示,使用記事本程序打開(kāi)“E: \qq123456\FileRecv\17-hdz-xyx xr(1).t xt”,依次點(diǎn)擊菜單欄中的“格式→去除自動(dòng)換行前的勾選”,繼續(xù)點(diǎn)擊“查看→勾選狀態(tài)欄”,現(xiàn)在就可以在記事本窗口下方的狀態(tài)欄中看到顯示的行號(hào),按提示定位到第9行,即可看到查找的關(guān)鍵字了(圖3)。
上述方法雖然簡(jiǎn)單,但由于很多朋友并不熟悉Power Shell的語(yǔ)法,因此對(duì)于一些更為復(fù)雜的查找,我們還可以直接使用現(xiàn)成的腳本。比如某電商將所有客戶的發(fā)貨信息均保存在“E:\發(fā)貨”下不同的.xlsx文件中并授權(quán)給特定的人員使用,現(xiàn)在需要在其中找到客戶名為“張三”的所有發(fā)貨信息。
首先以管理員身份啟動(dòng)PowerShell,輸入并執(zhí)行“set-executionpolicy remotesigned”命令,當(dāng)屏幕出現(xiàn)選擇提示時(shí),輸入“a”(表示確認(rèn)安裝所有腳本)確認(rèn)(圖4)。
接著在上述窗口中再輸入并執(zhí)行“Install-Module -Name ImportExcel”命令,此時(shí)Windows的安全中心會(huì)彈出攔截通知消息,按提示點(diǎn)擊消息,在打開(kāi)的“保護(hù)歷史記錄”窗口中,依次點(diǎn)擊“操作→允許在設(shè)備上”,允許安裝腳本(圖5)。
然后返回到PowerShell窗口,在屏幕提示是否安裝時(shí)輸入“Y”確認(rèn)安裝,這樣可以將所需的腳本安裝到本機(jī)的默認(rèn)目錄中(圖6)。完成腳本的安裝后到“ht tps://share.weiyun.com/EkERDO8t”下載查詢腳本“1.psl”并放置在桌面上,使用記事本打開(kāi)后全選其中的內(nèi)容,然后將其粘貼到PowerShell的窗口中并回車(chē)運(yùn)行。
最后再輸入查詢命令“getdeliveryinfo-user "張三" | f t”,回車(chē)后就可以在窗口中顯示查詢結(jié)果。上述命令會(huì)在指定目錄(即“E:\ 發(fā)貨”,如果需要查詢其他目錄或文件類(lèi)型,如xl s,請(qǐng)自行更改“1.psl”中相應(yīng)的代碼)下遍歷所有的xlsx文件,并將符合要求的結(jié)果顯示在屏幕上,我們可以直接復(fù)制查詢結(jié)果(圖7)。