循环浏览文件-跳过长行

龙游戏

以下循环/函数应该用于编辑文件(只需替换文件中的第二行)。原始文件包含一个大于165000的符号长行,执行此循环后,新文件中仅此行消失了。

setlocal EnableDelayedExpansion
set /a count=0
>"%~3" (
  for /f "usebackq delims=" %%A in ("%~2") do  (
    if !count!==1 (echo ^<html^>) else (
      setlocal DisableDelayedExpansion
      echo.%%A
      endlocal)
    set /a count+=1
  )
)
endlocal
goto:eof

我认为这与变量(%% A)可以存储的最大长度有关。是否可以避免此行为?

提前致谢!

德本纳姆

本地批处理不能用于长度超过〜8191字节的行,除非您采取极端措施一次读取一个字节(它涉及创建长度> = source的虚拟文件,并使用FC来导出字节)。这是为什么我很少使用批处理来修改文件的众多原因之一。

我将使用我的JREPL.BAT实用程序

call jrepl "^.*" "<html>" /jbegln "skip=(ln!=2)" /f "%~2" /o "%~3" 

但是还有许多其他选择。

您可以使用通过CSCRIPT执行的JScript或VBS编写自定义代码。或者,您可以使用PowerShell。

或者您可以获得Windows的sed或awk或...


更新-可能的纯批处理解决方案

如果满足以下所有条件,则以下内容可能会起作用:

  • 您不在乎制表符是否转换为空格
  • 第一行长度为<= 1021字节,并且没有结尾的控制字符
  • 总行数<64k
  • (我可能还记得另一个限制)
@echo off
setlocal enableDelayedExpansion
>"%~3" (
  set "ln="
  <"%~2" set /p "ln="
  echo(!ln!
  echo ^<html^>
  more +2 "%~2"
)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

读取.tsv文件时跳过备用行

来自分类Dev

解析csv文件并跳过前3000行

来自分类Dev

python文件查找跳过行

来自分类Dev

跳过CSV文件的第一行

来自分类Dev

Excel,循环浏览XLSM文件并将行复制到另一张表

来自分类Dev

循环浏览CSV文件

来自分类Dev

玉。循环浏览文件目录

来自分类Dev

循环浏览CSV文件并验证每一行的列数

来自分类Dev

R循环时间过长

来自分类Dev

程序正在跳过while循环以读取文件中的每一行

来自分类Dev

如何修复Python文件中的某些“行过长”错误?

来自分类Dev

循环浏览文件并跳过BASH中的n个数量

来自分类Dev

循环浏览文件并删除某些行

来自分类Dev

批处理文件FOR命令跳过行

来自分类Dev

读取.tsv文件时跳过备用行

来自分类Dev

循环浏览文件夹中的所有文件,并使用Python将随机数附加到每个文件的每一行中

来自分类Dev

readline跳过for循环的第一行

来自分类Dev

循环浏览只读的.zip数据档案,以从其中的.kml文件中提取行

来自分类Dev

Laravel中如何使用文件跳过行

来自分类Dev

浏览文件行-C

来自分类Dev

读取文件作为命令跳过行的输入

来自分类Dev

文件循环错误地跳过了文件

来自分类Dev

循环浏览语音样本页面,下载每个样本并将这些行放入文本文件中

来自分类Dev

循环浏览目录,但跳过最新文件

来自分类Dev

PHP在while循环中跳过行

来自分类Dev

跳过while循环的前3行

来自分类Dev

循环浏览文件中的所有行,并删除其内容中包含该行的所有文件

来自分类Dev

跳过行的Pandas .DAT文件导入错误

来自分类Dev

熊猫循环遍历行并跳过行?