[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复  66899981

须把整个匹配数超长字符串 |000004| |000020| ... |605018| |605058|
直接写入(前后没 ...
aloha20200628 发表于 2024-10-28 08:43



    我都服了 用了22楼的数据和DATA.TXT数据 还会提示 运行时错误:文件未找到

TOP

本帖最后由 aloha20200628 于 2024-10-28 10:24 编辑

回复 31# 66899981

别急!鼓捣软件数据这种活儿就得要足够的耐心和细心...
用29楼的方法流程再跑一遍24楼代码》先将 "匹配数超长字符串.txt" 这个单行文件更名为 "1.txt",再将24楼代码第二行中的 "匹配数超长字符串.txt" 改为 "1.txt",试试结果如何...

TOP

回复  66899981

别急!鼓捣软件数据这种活儿就得要足够的耐心和细心...
用29楼的方法流程再跑一遍24楼 ...
aloha20200628 发表于 2024-10-28 10:22



    我没急,只是都不好意思麻烦兄弟了

TOP

本帖最后由 aloha20200628 于 2024-10-28 11:24 编辑


本帖挑战的不是算法,而是超长字符串数据量,批处为此下课了。
但如果超长字符串能被预先分成每行8K字符量以内的n个数据行存入一个文件(即每行至多8000个英文字符长度,行头行尾没有空格),例如名为1.txt,即可又让批处+findstr ‘满血复活’了,毕竟 findstr 是用c/c++打造的。
其实8楼已经验证了此方法的有效性,即如以下代码
  1. @echo off &for /f "delims=" %%a in (1.txt) do (
  2. findstr /lv "%%a" data.txt>0.0
  3. move /y 0.0 data.txt
  4. ) 2>nul
  5. pause&exit/b
复制代码

TOP

回复 21# 66899981

把关键字保存为key.txt,利用gawk( http://bcn.bathome.net/tool/4.1.0/gawk.exe )可实现:
  1. gawk -F"[ ^|]+" "FNR==NR{if(NF){for(i=1;i<=NF;i++)if($i)A[$i]=1}next}!A[$2]" key.txt data.txt>out.txt
复制代码

TOP

回复  66899981

别急!鼓捣软件数据这种活儿就得要足够的耐心和细心...
用29楼的方法流程再跑一遍24楼 ...
aloha20200628 发表于 2024-10-28 10:22



    还真可以了,DATA.txt  里面总是增加 Microsoft (R) Windows Script Host Version 5.812
版权所有(C) Microsoft Corporation。保留所有权利。如何不增加这句呢?

TOP

本帖最后由 aloha20200628 于 2024-10-28 11:20 编辑

回复 36# 66899981

24楼代码第2行改为如下样子即可取消cscript商标信息...
  1. type "data.txt"|cscript /nologo /e:jscript "%~f0" "1.txt">0.0
复制代码
24楼代码已订正,可取消cscript商标信息报告,但其中的 "1.txt" 文件名取舍还要楼主自定...

TOP

回复  66899981

24楼代码第2行改为如下样子即可取消cscript商标信息...24楼代码已订正,可取消cscript商 ...
aloha20200628 发表于 2024-10-28 11:12




真是太感谢了,要是在一个城市多少要聚聚喝两杯

TOP

回复  66899981

24楼代码第2行改为如下样子即可取消cscript商标信息...24楼代码已订正,可取消cscript商 ...
aloha20200628 发表于 2024-10-28 11:12



    最后一个问题,这个能不能执行完自动关闭

TOP

回复 38# 66899981

《批处理之家》几十年不倒,虽然解答者来来去去,但总有一些无私者 助人为乐,接棒加油,让这个论坛的座右铭 ‘批处理—化繁为简,提高工作效率’ 闪闪发光。每日练练脑力操,帮人利己,能收获一点儿多巴胺和内分肽,也不错...

TOP

回复  66899981

《批处理之家》几十年不倒,虽然解答者来来去去,但总有一些无私者 助人为乐,接棒加油 ...
aloha20200628 发表于 2024-10-28 12:03



    感谢!

TOP

回复 39# 66899981

24楼代码第4行改为 exit/b */ 即可...

TOP

回复  66899981

24楼代码第4行改为 exit/b */ 即可...
aloha20200628 发表于 2024-10-28 12:33



    感谢!完美!

TOP

回复  66899981

24楼代码第4行改为 exit/b */ 即可...
aloha20200628 发表于 2024-10-28 12:33



哥们你好,今天我有测试检测匹配数超长字符串里面有4000多条  然后最后的结果就是 DATA.txt 变成空数据了

TOP

回复  66899981

24楼代码第4行改为 exit/b */ 即可...
aloha20200628 发表于 2024-10-28 12:33




https://wwnl.lanzoul.com/iJsGD2dos9jg  我上传的网盘里了   1.TXT就是匹配  删除DATA.TXT里整行

TOP

返回列表