批处理如何在指定文件夹内搜索某个关键字,包含这个关键字的文件或文件夹要删除?

批处理如何在指定文件夹内搜索某个关键字,包含这个关键字的文件或文件夹要删除?,第1张

不清楚你的实际文件/情况如前模,仅以问题中的样说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI/GB2312,跟要处理的文件或文件夹放一起双击运行

<# :

cls&echo off&cd /d "%~dp0"&mode con lines=5000

rem 查找并删除当前目录下所有名称中包含有指定关键字/指定字符的文件和文件夹

set #=Any questions&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

"@

$self=get-item -literal $env:self

$current=$self.Directory.FullName.trimend('\')

$arr=$keywords.toLower().trim("`r`n") -split '[\r\n]+'

$files=@(dir -literal $current -recurse|?{$_.FullName -ne $self.FullName})

for($i=0$i -lt $files.length$i++){

    if(test-path -literal $files[$i].FullName){

        $ismatch=$false

        $name=$files[$i].Name.toLower()

        渣缓for($j=0$j 悔弊-lt $arr.length$j++){

            if($name.Contains($arr[$j])){$ismatch=$truebreak}

        }

        if($ismatch){

            write-host $files[$i].FullName

            if($files[$i] -is [System.IO.FileInfo]){

                remove-item -literal $files[$i].FullName -force -ErrorAction SilentlyContinue

            }else{

                remove-item -literal $files[$i].FullName -recurse -force -ErrorAction SilentlyContinue

            }

        }

    }

}

如上图

第一步、给他压缩成文件

第二步、咕嘎批量文件查找 *** 薯此作文件移动到指定的文件夹

第三步、查找出来的文件批量数斗迅解压缩,销吵搞定


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12218166.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存