【问题标题】:How do I apply this?我该如何应用这个?
【发布时间】:2013-02-22 04:55:00
【问题描述】:

我想将其用作下面代码的变量,而不是 1.txt 中 ClassName= 之后的变量,我想要介于两者之间的变量:

EntryText=船沉了!|Grid AO 77|变量,

(注意变量后面的逗号和前面的 |)

所以在以第二个 | 结尾的文本行之后抓取和逗号之前。

变量之前的文本行将是相同且恒定的,除了“网格”之后可能有任何字母和数字的混合,直到第二个 |

所以我尝试将其用作变量,介于两者之间:

EntryText=沉船!|网格(字母或数字的任意组合) | (变量)(逗号)

所以抓住第二个 |和逗号。比你。 我想将 ClassName= 之后的变量抓取替换为第二个 |和逗号。 请记住,还有其他 |和我不想抓取的文件中的逗号,我只想抓取 | 之后的变量如果在 "EntryText=Ship sunk!|Grid ....

之后,则在逗号之前

再一次,我不想要 Grid 部分,我想要第二个 |和逗号之前。也会有很多 EntryText 行,所以我想抓住所有这些行中的那一部分并放入我的代码中。

所以我想复制上面列出的变量所在的位置,而不是 ClassName= 之后的内容。

感谢您的宝贵时间!!

@echo off

copy 2.txt 2.txt-backup

setlocal enableDelayedExpansion

>2.txt (
for /f "tokens=1* delims=:" %%A in ('findstr /n "^" 2.txt-backup') do (
( echo !ln!| findstr "^Type=206$" >NUL && set ln=ln ) || (
    set "ln=%%B"
    if "!ln:~0,6!"=="Class=" (
        findstr /c:"ClassName=!ln:~6!" "E:\Dropbox\New folder\Log_*.txt" >"E:\Dropbox\New folder\null" && (
            echo Class=ShipDummy
            set "ln=Type=206"
        )
    )
    if #!ln!==# (echo;) else echo !ln!
)
)
)

有人给了我这个底部代码,但我不知道它是否是我想要的或如何将它应用到上面:

for /f "tokens=3 delims=|" %%C in ("%%B") do for /f "tokens=1 delims=," %%D in ("%%C") do echo %%D

谢谢!!!!!!

【问题讨论】:

  • 不清楚您在寻找什么。一旦你抓取了变量,你想用它做什么?您想将其回显到 2.txt 而不是 Class=ShipDummy 吗?你想把它回显到E:\Dropbox\New Folder\null吗?
  • 我想做它在 2.txt 中已经做的事情。所以它将匹配 2.txt 中 Class= 之后的内容,然后将其替换为 Class=ShipDummy。谢谢。
  • @machiavelli:问了 11 个问题,只有 2 个赞成票怀疑你会得到很多帮助。

标签: batch-file batch-processing


【解决方案1】:

我想你想要这样的东西......

...
set "ln=%%B"
for /f "tokens=3 delims=|" %%C in ("%%B") do for /f "tokens=1 delims=," %%D in ("%%C") do set "MyVar=%%D"
findstr /c:"ClassName=!MyVar!" "E:\Dropbox\New folder\Log_*.txt" >"E:\Dropbox\New folder\null" && (
    echo Class=ShipDummy
    ...

【讨论】:

  • 我尝试了你的代码,它把所有的东西都变成了 Class=ShipDummy 然后 Type=206,然后是第三行的 ln。感谢您的努力。
  • 我想要第二个之间的内容 |和 , 将在 2.txt 中替换为 Class=ShipDummy,同样低于保持 Type=206
  • 第二个 |和逗号
  • 我确实想到了一种更简单的方法来实现我想要实现的目标,请看这里:stackoverflow.com/questions/15033351/…
猜你喜欢
  • 2016-01-26
  • 1970-01-01
  • 2011-03-09
  • 1970-01-01
  • 1970-01-01
  • 2011-09-30
  • 1970-01-01
  • 2013-07-17
  • 1970-01-01
相关资源
最近更新 更多