如何用bat查看文件里是否有指定内容并移动。

发布网友

我来回答

1个回答

热心网友

@echo off
if "%~1"=="" (
    echo 此工具需要拖入文件夹到批处理图标上运行
    ping 127.0.0.1 -n "4">nul
    exit
)

dir /ad "%~1" >nul 2>nul || (
    echo 此工具仅支持文件夹的拖入,不支持文件的拖入
    ping 127.0.0.1 -n "4">nul
    exit
)

echo %1
cd /d "%~1"

set FailDir=失败
set Str=Rep

for /r %%a in ("*%Str%*.xml") do (
    if not "%%~dpa"=="%~1\%FailDir%\" (
        findstr /c:"鍝嶅簲鎴愬姛" "%%~a" >nul && (
            del /f /q "%%~a"
        ) || (
            if not exist "%FailDir%" md "%FailDir%"
            move "%%a" "%FailDir%\"
        )
    )
)
pause


除了增加判断xml文件中是否包含“响应成功”字符串的功能外,额外给你增加了拖入非文件夹后的提示代码,以及不重复处理“失败”目录中文件的代码。友情提醒,代码中有几个像乱码一样的中文字,那个不要改变哦!那个就是UTF-8“响应成功”的ANSI编码内容因为批处理读取utf8编码的文件中文字就会变成乱码一样。

追问感谢大神!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com