【发布时间】:2017-08-14 15:39:30
【问题描述】:
希望我能清楚我的问题和我要搜索的内容。我在 .sjs 文件中有一个长脚本(基本上是具有不同扩展名的 txt),其中一部分是以下几行。在下面的 cmets 中,这被称为 input.txt 或 Builder.sjs
var Want_spring_aid_file_update = 0;
var Front_spring_aid_file = "name_1.pspck";
var Rear_spring_aid_file = "name_2.pspck";
我一直在寻找一个 .bat 脚本,它可以在这个 .sjs 文件中探测某些行,在上面的例子中是第 2 行和第 3 行,并将双引号之间的字符串写入一个文本新文件中。在下面的 cmets 中,这个新的文本文件被称为 cmets.txt。
我在这个了不起的网站上找到了一个脚本,它输出该文件中引号之间的所有字符串。我只想在特定的线路上。我说的脚本如下。
>"output.txt" (
for /f usebackq^ tokens^=2^ delims^=^" %%A in ("input.txt") do echo "%%A"
)
另外,如果有人可以帮助我理解上述脚本中某些角色的角色,那将很有帮助。这些是^、2^、^=^。
谢谢大家!
【问题讨论】:
-
为什么不使用
"input.txt"而不是使用'FindStr [options] [search mask] "input.txt"'来挑选与您所需的var名称相关的数据? -
这可以用显示的数据来解决问题:
for /F "skip=1 tokens=4 delims=; " %%a in (test.txt) do echo %%~a。skip=1部分省略了第 1 行。"tokens=4 delims=; "采用由空格或分号分隔的第 4 个标记。在%%~a部分中包含一个波浪号表明这样一个标记删除了封闭的引号。
标签: batch-file