返回列表 发帖
@echo off
cd.>b.txt
for /f "delims=" %%i in (a.txt) do (
findstr /x "%%i" "b.txt">nul||echo %%i>>b.txt
)
pauseCOPY

1楼的代码 加个 /x 完全匹配,试试呢
1

评分人数

bat小白,请多指教!谢谢!

TOP

回复 8# 881966

把需要处理的文本 、使用的代码、 使用该代码遇到的问题,分开一一详细描述,不是更好能解决问题?
bat小白,请多指教!谢谢!

TOP

本帖最后由 77七 于 2023-2-17 22:06 编辑
@echo off
cd.>b.txt
for /f "delims=" %%i in ('type "a.txt" ^| findstr /n .*') do (
        set "str=%%i"
        setlocal enabledelayedexpansion
        set "str=!str:*:=!"
        if "!str!" equ "" (
                >>b.txt echo,!str!
        ) else (
                findstr /x "!str!" "b.txt">nul || (>>b.txt echo,!str!)
        )
        endlocal
)
pauseCOPY

试试这样满足要求吗,如果不行,上传一个样本,再修改。批处理和文本都保存为ansi编码格式,试试吧
1

评分人数

bat小白,请多指教!谢谢!

TOP

@echo off
cd.>b.txt
for /f "delims=" %%i in ('type "a.txt" ^| findstr /n .*') do (
        set "str=%%i"
        setlocal enabledelayedexpansion
        set "str=!str:*:=!"
        if "!str!" equ "" (
                >>b.txt echo,!str!
        ) else (
                type "b.txt" | findstr /x "!str!" 1>nul 2>nul || (>>b.txt echo,!str!)
        )
        endlocal
)
pauseCOPY

如果还是不行,请把测试失败的样本原件,测试失败生成的样本和批处理原件上传到网盘
1

评分人数

bat小白,请多指教!谢谢!

TOP

回复 15# 881966

不提供出错信息,又不提供样本,让大家怎么帮你解决问题?你认为的“复制文本”就行,根本不是你想的那样,我既然发出来代码,能测试的我都测试过了,使用正常的
bat小白,请多指教!谢谢!

TOP

@echo off
cd.>b.txt
for /f "delims=" %%i in ('type "a.txt" ^| findstr /n .*') do (
        set "str=%%i"
        setlocal enabledelayedexpansion
        set "str=!str:*:=!"
        if "!str!" equ "" (
                >>b.txt echo,!str!
        )
        if not "!str!" equ "" (
                set n=
                for /f "delims=" %%c in ("!str!") do (
                        set "str3=%%c"
                )
                for /f "delims=" %%b in ('type "b.txt"') do (
                        if "!str3!" equ "%%b" (
                                set n=1
                        )
                )
                if not defined n (
                        >>b.txt echo,!str!
                )
        )
        endlocal
)
pauseCOPY

水平有限,想不出完美办法,只能折中,使用前手动替换全文中的"!"为其它字符,使用此代码后替换回"!",方可基本解决你的问题。
或者直接使用代码,特殊情况下会出错。
1

评分人数

bat小白,请多指教!谢谢!

TOP

返回列表