
百度求得找尋關鍵字并復制文件的批處理執行遇到問題本人百度知道求得一代嗎,但執行起來卻遇到一點問題。目錄結構什么的都沒問題,就是執行的時候 會將所有文件都復制到 第一個關鍵字目錄下。以下是代碼 和要求。我找到一個批處理,可以獲取文件路徑并保存為 a.txt 然后調用a.txt后,執行復制到 請輸入目標 的這么個批處理。但是我想可不可以讓他自己在 a.txt文件中 自動找尋關鍵字 并復制到 相對應的目標下(沒有自動創建)無關鍵字的 就分類到目標根目錄。(abc為不特性文件夾,*號為不確定字符 )比如 a.txt中文件為 復制到 目標D:abc**周星馳**功夫1** ---- 目標周星馳D:abc**周星馳**鹿鼎記** ----- 目標周星馳D:abc**李連杰**少林寺** -----目標李連杰D:abcc***無關鍵字****-----目標備注:關鍵字,在批處理內設置,源文件為當前目錄下含子目錄。目標為 用戶(我)自行輸入的懸賞50分跪求。再懸賞50分,求解答如何做到的關鍵字搜索。得到代碼如下(代碼開始幾行被我改了下,為了美觀)
nclick="copycode($('code0'));">復制代碼
- @echo off&setlocal enabledelayedexpansion&COLOR 0a&echo+&title ^|%~n0^|
- del list.txt 2>nul
- ::設置源文件根目錄
- set dir=%cd%
- cls
- dir /a-d/s/b %dir%>list.txt
- echo+
- echo+
- echo+ ╔═══════【文件整理工具】════════╗
- echo+ ║ 對當前目錄下文件根據輸入的關鍵字自動分類 ║
- echo+ ╠----------------------------------------------╣
- echo+ ║關鍵字之間用英文“,”分隔 例如 成龍,李連杰║
- echo+ ╠----------------------------------------------╣
- echo+ ║注意:有空格的藥用括起 例如 回 訪 ║
- echo+ ╚═══════════════════════╝
- ::請設置關鍵字,每個關鍵字之間用英文逗號隔開,
- ::關鍵字有空格的,把關鍵字用英文雙引號括起來,如mei mei
- echo+
- echo+請在列表后輸入關鍵字:
- ::為了方便我查看我調用了下。
- call list.txt
- set gjz=&set /p gjz=
- ::加了一個空關鍵詞 重啟
- if !gjz!== (endlocal&%~s0&exit)
- set/p mb=請輸入目標后回車確認:
- ::同樣是我加的 無關鍵字 設置為當前目錄 以下都是源代碼
- if !mb!== set mb=%cd%
- for %%a in (%gjz%) do (
- findstr /i /c:%%~a list.txt>>exist1.txt
- set/p e=<exist1.txt
- if defined e (
- findstr /v /i /c:%%~a list.txt>>exist2.txt
- move exist2.txt list.txt>nul
- md %mb%%%~a
- for /f delims= %%b in ('type exist1.txt') do move %%~b %mb%%%~a
- del exist1.txt 2>nul
- )
- del exist*.txt 2>nul
- )
- ::for /f delims= %%a in ('type list.txt') do move %%~a %mb%
- del list.txt 2>nul
- start !mb!

