Batch file 使用for/f获取特定行将生成最后一行
下面一行是test5.html中的181行:Batch file 使用for/f获取特定行将生成最后一行,batch-file,Batch File,下面一行是test5.html中的181行: (是的,它一开始确实有那么多空格) 使用/f的,我尝试获得该行: for/f“skip=180 delims=“%%i in(test5.html)do set”stringRaw=%%i” 但结果是。这是文件的最后一行,不是第181行。如何解决此问题?批处理可能会将所有标记解释为重定向。我喜欢批处理,但用于解析高级文本很糟糕。我相信很快就会有人提供更好的答案;)批处理从未被设计为解析文本行,因此它“糟糕”的原因就在于它。但是,问题可能在于源文件中
(是的,它一开始确实有那么多空格)
使用/f的,我尝试获得该行:
for/f“skip=180 delims=“%%i in(test5.html)do set”stringRaw=%%i”
但结果是
。这是文件的最后一行,不是第181行。如何解决此问题?批处理可能会将所有标记解释为重定向。我喜欢批处理,但用于解析高级文本很糟糕。我相信很快就会有人提供更好的答案;)批处理从未被设计为解析文本行,因此它“糟糕”的原因就在于它。但是,问题可能在于源文件中的行尾类型。基于Windows的文件使用CRLF行结尾,如果您的文件仅使用LF,则可能会导致问题。如果将(test5.html)
更改为('type“test5.html“)
,会发生什么情况?如果未定义stringRaw,请将放在前面,设置“stringRaw=%%i”
,因为在for/F
循环开始迭代之前变量为空(您可以通过设置“stringRaw=”来实现)
在/F的上方的一行中,
)…发生了这样的事情:我的代码是: