【发布时间】:2026-01-18 13:40:01
【问题描述】:
我需要剥离文本文件的一部分并将其写入另一个文件。剥离的文本文件也应保存。
之前:
Original.txt = "<xml><something>values</something><script>TEXT-TO-DELETE</script></xml>"
之后:
Original.txt = "<xml><something>values</something><script></script></xml>"
Original_script.txt = "TEXT-TO-DELETE"
.. 这是一个多行文件,因此脚本部分跨越多行。
我尝试过发布的脚本,但始终无法理解语法。
"@echo off & setlocal
set "Data=D:\Original.txt"
set "Bak=%Data%.bak"
move "%Data%" "%Bak%"
for /f "usebackq delims=" %%i in ("%Bak%") do set "LINE=%%i" & call :ProcessLine
REM del "%Bak%"
goto :eof
:ProcessLine
echo %LINE%>>"%Data%"
echo %LINE%|findstr /b "<script>">nul || goto :eof
goto :eof"
这应该适用于 Windows 计算机 ..(更新的操作系统支持)
编辑:因为我无法在自己的线程上回答,所以我在这里做:
感谢您的回答。 不幸的是,我不想为此使用共享软件。 我正在解析另一种语言,我只需要剥离它。
这是一个荒谬的 3 线:
file={"p1.txt","p2.txt","p1.txt"}
find={"<search>","</search>,"<xml>"}
count=1
foreachline in file[count] print line to file[count]
if find[count] in line then count++
或类似的。如果没有 1000 种方式/样式的脚本,我可以自己解决这个问题。只是觉得一些裂缝会给它一分钟。
【问题讨论】:
-
您必须更精确地处理文件内容。最好举个例子。
-
您能否更明确地说明您想使用哪种编程或脚本语言?在哪个操作系统上?
-
这应该尽可能笼统。我有win7 64位。应该是dos类型的批处理脚本。更新操作!!!
-
我想这是你的第一个 BAT 脚本。要掌握它的语法,请从简短的教程开始。谷歌“windows批处理教程”,阅读并开始学习。然后回来提出您的问题,我们很乐意为您解答。
-
为了避免在特殊字符等方面过于容易出错,我无法获得任何 dos-type 批处理脚本(更不用说 3-liner)来轻松执行此类多在没有一点帮助的情况下解析 XML 文档的行 XML 元素,例如,来自我提到并链接到的工具。它有一个免费的社区版,不需要许可证密钥代码并且可以免版税使用,并且可以在 32 位和 64 位版本的 Windows 上使用。这是你的电话......
标签: batch-file copy find lines