麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > BAT > 正文

Windows批量搜索并復(fù)制/剪切文件的批處理程序?qū)嵗?/h1>
2020-07-26 19:48:00
字體:
供稿:網(wǎng)友

搜索包含關(guān)鍵字的文件名是最常用的功能之一,比如按人名搜索mp3、按內(nèi)容搜索圖紙等等,當(dāng)需要搜索成百上千個關(guān)鍵詞時,會消耗大量的人力和時間,這時就需要批量搜索功能。本文介紹一個我自己編寫的、用于批量搜索文件的批處理程序。

搜索包含關(guān)鍵字的文件名是最常用的功能之一,比如按人名搜索mp3、按內(nèi)容搜索圖紙等等,當(dāng)需要搜索成百上千個關(guān)鍵詞時,會消耗大量的人力和時間,這時就需要批量搜索功能。

傳統(tǒng)方法

Windows XP自帶了批量搜索的功能,在按(Win+F)彈出的搜索框中,填入若干關(guān)鍵詞,用逗號隔開,這樣搜出的結(jié)果是包含至少一個關(guān)鍵詞的文件。但是這種搜索方法有關(guān)鍵字?jǐn)?shù)量的限制,而且要把一堆關(guān)鍵詞用逗號隔開也是需要點(diǎn)工夫的,當(dāng)然你可以用Excel處理,但總歸比較麻煩。下面介紹一個我自己編寫的批處理程序。

任務(wù)描述

所謂批量搜索是在一批文件名里尋找多個關(guān)鍵詞,比如

關(guān)鍵詞列表:AA,BB,CC

目標(biāo)文件名:AA1,BB2,DD3,BBC1,EE2,Abb

批量搜索得到的結(jié)果有:AA1,BB2,BBC1,Abb

因?yàn)閃indows系統(tǒng)對文件名的大小寫只記錄,不區(qū)分,所以Abb也能被搜出來。

解決方法

利用批處理程序中強(qiáng)大的for命令,可以很好的完成批量的搜索。結(jié)合其他批處理命令,還能將搜出來的文件復(fù)制或者剪切到目的路徑下面。

首先把關(guān)鍵字保存在名叫“l(fā)ist.txt”的文本文件里,每個關(guān)鍵字占一行。注意不能有空格、空行、空回車。例如:

AA

BB

CC

然后把下面的代碼保存成以 *.bat 為擴(kuò)展名的批處理文件。代碼如下:

::Batch search & copy/move, Mar 21,2009::..@echo offcolor 3Eecho 本程序復(fù)制/剪切當(dāng)前目錄下含有特定關(guān)鍵字的特定類型文件echo 注意:覆蓋不提示,請小心操作echo 注意:關(guān)鍵字列表不要有空格、空行、空回車echo.if not exist list.txt (echo.echo 請先將關(guān)鍵字列表保存為list.txt...pause > NULexit)echo.echo 選擇要進(jìn)行的操作:set /p opt=復(fù)制(c) or 剪切(x):if %opt% NEQ c if %opt% NEQ x (echo 沒有選項(xiàng),byebye!pause >NULexit)set /p ext=指定文件擴(kuò)展名(不含".",比如pdf,不指定請輸入*):set /p url=目標(biāo)文件夾路徑(不可在當(dāng)前目錄內(nèi)):if not exist %url% md %url%if %opt%==c set task=復(fù)制if %opt%==x set task=剪切echo 按任意鍵開始%task%....pause > NULset count=0for /f "tokens=*" %%i in (list.txt) do ( for /r %%j in (*%%i*.%ext%) do (echo 正在%task% %%j 到 %url%if %opt%==c (copy "%%j" %url% >NUL)if %opt%==x (move "%%j" %url% >NUL)set /a count+=1 ))echo.echo 任務(wù)完成!共%task%了%count%個文件echo.echo by www.lfhacks.comecho ..pause >NULexit

把批處理文件和list.txt都放在要搜索的文件目錄下,運(yùn)行批處理文件,按提示操作即可,注意大小寫敏感。由于for命令先天的限制,有兩點(diǎn)需要注意:

  1. 被搜索文件不能放在根目錄下,需要放在子目錄內(nèi)
  2. 復(fù)制或者剪切的目的地最好在另外一個驅(qū)動器內(nèi),不然可能會造成死循環(huán)。

對上述代碼稍作修改,可以得到其他定制的功能,比如,下面的代碼就是建立以關(guān)鍵字命名的獨(dú)立目錄,作為復(fù)制/剪切的目的地。這個代碼可以用來將文件按某個字段分配到多個文件夾里:

::Batch search & copy/move, Mar 21,2009::..@echo offcolor 3Eecho 本程序復(fù)制/剪切當(dāng)前目錄下含有特定關(guān)鍵字的特定類型文件echo 注意:覆蓋不提示,請小心操作echo 注意:關(guān)鍵字列表不要有空格、空行、空回車echo.if not exist list.txt (echo.echo 請先將關(guān)鍵字列表保存為list.txt...pause > NULexit)echo.echo 選擇要進(jìn)行的操作:set /p opt=復(fù)制(c) or 剪切(x):if %opt% NEQ c if %opt% NEQ x (echo 沒有選項(xiàng),byebye!pause >NULexit)set /p ext=指定文件擴(kuò)展名(不含".",比如pdf,不指定請輸入*):set /p url=目標(biāo)文件夾路徑(不可在當(dāng)前目錄內(nèi),末尾不要帶斜杠/):if not exist %url% md %url%if %opt%==c set task=復(fù)制if %opt%==x set task=剪切echo 按任意鍵開始%task%....pause > NULset count=0for /f "tokens=*" %%i in (list.txt) do ( md %url%/%%i for /r %%j in (*%%i*.%ext%) do (echo 正在%task% %%j 到 %url%/%%iif %opt%==c (copy /Y "%%j" "%url%/%%i" >NUL)if %opt%==x (move /Y "%%j" "%url%/%%i" >NUL)set /a count+=1 ))echo.echo 任務(wù)完成!共%task%了%count%個文件echo.echo by www.lfhacks.comecho ..pause >NULexit

在批量搜索并轉(zhuǎn)移文件后,往往需要和原有的關(guān)鍵字比對,知道搜索到了多少文件。這就需要一個工具,能夠批量檢測一批關(guān)鍵字是否存在于一堆文件里。請參考另一篇文章: 批量檢測文件(夾)是否存在的批處理程序

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

主站蜘蛛池模板: 久久国产一二三 | 99久久电影| 黄色网欧美 | 羞羞视频免费网站 | 久久久久一区二区三区四区五区 | 免费观看的毛片手机视频 | 亚洲精品成人在线视频 | 欧美成人理论片乱 | 91av大片| 激情视频免费看 | 精品国产高清一区二区三区 | 久久精品中文字幕一区 | av电影在线观看免费 | 黄色大片在线免费观看 | 亚洲综合视频在线播放 | 国产青草网 | 久久国产精品久久久久久久久久 | 亚洲最黄视频 | 精品久久久久久久久亚洲 | 娇喘在线 | av在线免费电影 | 黄色电影免费网址 | 国产成人在线视频播放 | 国产免费www | 日本在线视频免费观看 | 久久久久免费精品 | 欧美精品在线免费观看 | 国色天香综合网 | 国产精品1区2区在线观看 | 久久久涩| 高清国产午夜精品久久久久久 | 成人福利网 | 精品亚洲午夜久久久久91 | 欧美一级黄色网 | 国产精品观看在线亚洲人成网 | 久久激情小视频 | wankzhd| 成人综合一区二区 | 欧美人人干 | 中文字幕1区2区 | 98国内自拍在线视频 |