如何使2代码提取后也删除

问题描述 投票:0回答:0

我正在使用提供给我的脚本,它运行良好但运行速度很慢,我知道批处理很慢,但我在想,为了让它更快,我们是否也可以制作这个脚本删除它的发现,它提取后,如果我能把

txt
变小,提取过程会非常顺利和快速

我的 txt 文件可以从 250K 到 400K 行长,前 100 次提取需要 4 分钟,现在对我来说这是个好时机,我没意见,但在它开始达到提取点 150 后,到 200 个文件,速度变慢了,我做了一个测试,从我的

txt
文件中提取580个文件花了1个小时

所以让我解释一下过程

提取脚本在每次拍摄时提取

432
行,在此测试
txt
文件中,我有
250K
行并且我有
580
集要提取,所以前
44K
行脚本从我的文件中提取了 100 个文件
txt
文件在 4 分钟内完成,我同意

一旦提取达到 125k 行,它开始变慢,越深,过程越长

我也想知道脚本是否可以更快,即使需要 20 分钟才能完成也可以,比 1 小时更好......哈哈
或者如果我们之后可以删除它

现在我测试了

findster /v "code" 1.txt > 2.txt
,这花了 3 秒来查找和删除
code
并输入新的
txt
,而
txt
文件长 620 行
所以我在想我们怎样才能把它添加到这个脚本中

我的剧本

@ECHO OFF
SETLOCAL EnableDelayedExpansion
echo.
echo Extracted Your Data

Set "Code1=crdb1"
Set "Code2=isra1"


set "skip="
for /F "delims=:" %%a in ('findstr /n "%Code1% %Code2%" "(99).txt"') do (
   if not defined skip (
      set /A "skip=%%a"-2
   ) else (
      set /A "copy=%%a-skip+1"
   )
)
< "(99).txt" (

   rem Skip undesired lines at beginning
   for /L %%i in (1,1,%skip%) do set /P "="

   rem Copy desired lines
   for /L %%i in (1,1,%copy%) do (
      set /P "line="
      echo(!line!
   )

) > "2Preparing\(99).txt"
@EndLocal

findster /V "%%a" (99).txt > (99)Ready.txt
batch-file
© www.soinside.com 2019 - 2024. All rights reserved.