BATCH-在文本文件中查找字符串,然后在该行之后添加新的字符串

詹姆斯30263

我正在尝试从蝙蝠文件中搜索文本文件中的特定字符串。如果该字符串存在,请在下一行之后添加一个新字符串。我似乎无法正常工作下面的代码。有任何想法吗?

这是我在文本文件中搜索的字符串。 [/Script/MyGame.Mode]

这是文本文件的外观。

[/Script/Config.Mode]
Something here 1
Something here 2

[/Script/MyGame.Mode]
Something here 1
Something here 2

[/Script/Edit.Mode]
Something here 1
Something here 2

这就是我想要的样子。

[/Script/Config.Mode]
Something here 1
Something here 2

[/Script/MyGame.Mode]
RedirectReferences=(PackageName="%Package%",PackageURLProtocol="%PackageURLProtocol%",PackageURL="%WebAddress%/%Package%%Ext%",PackageChecksum="")
Something here 1
Something here 2

[/Script/Edit.Mode]
Something here 1
Something here 2

这是我到目前为止的代码。

@echo off

:GETINFO
echo.
echo.
cls
echo.
echo Let's get some information for your config. 
echo Note: The information you enter below is case sensitive. You can copy and paste.
echo.
echo Here's a Package Name example: "DM-MyTest-WindowsNoEditor"
echo.
set /p Package=Enter Package Name:
echo.
echo.
echo.
echo The Package URL Protocol will be "http" or "https"
echo.
set /p PackageURLProtocol=Enter Package URL Protocol:
echo.
echo.
echo.
echo Here's a WebAddress example: "www.myredirect.com/test" (Don't add the trailing /)
set /p WebAddress=Enter Redirect(WebAddress)URL:
echo.
echo.
echo.
echo The file extention is usually ".pak"
echo.
set /p Ext=Enter Map File Extention:
echo.
cls
echo.
echo Please wait... Currently Creating Test References.

:SHOWLINE
echo.
set NewURL=RedirectReferences=(PackageName="%Package%",PackageURLProtocol="%PackageURLProtocol%",PackageURL="%WebAddress%/%Package%%Ext%",PackageChecksum=""^^)

pause

:WRITENEW
set inputfile=game.txt
set outputfile=game.temp.txt
(for /f usebackq^ delims^=^ eol^=  %%a in ("%inputfile%") do (
   if "%%~a"=="[/Script/MyGame.Mode]" call echo %NewURL%
   echo %%a 
))>>"%outputfile%"

echo.
pause
wOxxOm
  1. 当我在命令提示符控制台中运行发布的代码时,我看到语法错误:

    )目前是出乎意料的。

    显然,NewURL当在循环中扩展时,内部的括号会破坏事物。

    • 一个简单的解决方案是使用call技巧来延迟扩展

      call echo %%NewURL%%
      
    • 或者:

      setlocal enableDelayedExpansion & echo !NewURL! & endlocal
      
    • 或用两次转义结束括号^^(一次为一次set,另一次为循环内的扩展值):

      set NewURL=.............PackageChecksum=""^^)
      
  2. 另一个问题是输出文件名与输入文件名相同,但是无法将输出重定向到与您正在读取的文件相同的文件中。

    将输出名称更改为其他文件。然后在循环完成后替换原始文件:

    set inputfile=game.txt
    set outputfile=game.temp.txt
    ...................
    ))>>"%outputfile%"
    move/y "%outputfile%" "%inputfile%"
    
  3. 并更改新字符串的顺序以在找到的行之后打印它,只需在内部循环内交换两行即可:

    echo %%a 
    if "%%~a"=="[/Script/MyGame.Mode]" call echo %%NewURL%%
    

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在JAVA中的文本文件中查找字符串

来自分类Dev

在大文本文件中查找字符串中子字符串的最后一次出现

来自分类Dev

在巨大的文本文件中查找字符串

来自分类Dev

如何从文本文件中查找字符串并加载其行内容

来自分类Dev

批处理-在文本文件中查找字符串并删除整行

来自分类Dev

查找包含字符串的行,然后使用awk返回该行以及文本文件的所有后续行

来自分类Dev

Python-在文本文件中查找字符串列表的字符串频率

来自分类Dev

在文本文件上查找字符串-批处理文件

来自分类Dev

BATCH返回包含子字符串的字符串

来自分类Dev

DOS Batch:从FOR循环中的字符串中删除字符

来自分类Dev

在文本文件打印行中查找字符串到新文件 Python 2.7

来自分类Dev

在通配符文件中查找字符串,如果找不到字符串,则将文件名放在文本文件 CMD 上

来自分类Dev

如果文本文件以数组中的任何字符串开头,则打印该行

来自分类Dev

VBScript-在csv文本文件中查找字符串,将以下两个字符串映射到数组,然后在消息框中显示结果

来自分类Dev

在文本文件中的特定字符串之后读取行,然后将数据存储在列表中

来自分类Dev

将文本文件中的每一行缩短59个字符,然后在其位置添加一个新的较短的字符串

来自分类Dev

如何获取文本文件中已知字符串之后的特定未知字符串?

来自分类Dev

在文件中查找字符串

来自分类Dev

在文件中查找字符串

来自分类Dev

在文本文件中同一行中的某个字符串之后添加字符串

来自分类Dev

在文本文件中搜索多个字符串,然后将结果打印到新的文本文件中

来自分类Dev

使用StringBuilder和BufferedReader,如何在文本文件中的每个单词之后添加逗号并生成字符串?

来自分类Dev

在多个文件/目录中搜索字符串,然后打印文本文件的内容

来自分类Dev

在文本文件中搜索多行字符串,然后在Python中返回行号

来自分类Dev

扫描文本文件中的字符串,如果找到,则使用该字符串创建新的txt文件

来自分类Dev

使用Windows Batch脚本在文件夹中多个文件中的一部分文件名中查找并替换字符串

来自分类Dev

通过遍历文本文件查找字符串后转到下一个迭代?

来自分类Dev

检查文本文件并使用正则表达式查找字符串模式

来自分类Dev

计算文本文件中每个字符串之后包含数字的行数

Related 相关文章

  1. 1

    如何在JAVA中的文本文件中查找字符串

  2. 2

    在大文本文件中查找字符串中子字符串的最后一次出现

  3. 3

    在巨大的文本文件中查找字符串

  4. 4

    如何从文本文件中查找字符串并加载其行内容

  5. 5

    批处理-在文本文件中查找字符串并删除整行

  6. 6

    查找包含字符串的行,然后使用awk返回该行以及文本文件的所有后续行

  7. 7

    Python-在文本文件中查找字符串列表的字符串频率

  8. 8

    在文本文件上查找字符串-批处理文件

  9. 9

    BATCH返回包含子字符串的字符串

  10. 10

    DOS Batch:从FOR循环中的字符串中删除字符

  11. 11

    在文本文件打印行中查找字符串到新文件 Python 2.7

  12. 12

    在通配符文件中查找字符串,如果找不到字符串,则将文件名放在文本文件 CMD 上

  13. 13

    如果文本文件以数组中的任何字符串开头,则打印该行

  14. 14

    VBScript-在csv文本文件中查找字符串,将以下两个字符串映射到数组,然后在消息框中显示结果

  15. 15

    在文本文件中的特定字符串之后读取行,然后将数据存储在列表中

  16. 16

    将文本文件中的每一行缩短59个字符,然后在其位置添加一个新的较短的字符串

  17. 17

    如何获取文本文件中已知字符串之后的特定未知字符串?

  18. 18

    在文件中查找字符串

  19. 19

    在文件中查找字符串

  20. 20

    在文本文件中同一行中的某个字符串之后添加字符串

  21. 21

    在文本文件中搜索多个字符串,然后将结果打印到新的文本文件中

  22. 22

    使用StringBuilder和BufferedReader,如何在文本文件中的每个单词之后添加逗号并生成字符串?

  23. 23

    在多个文件/目录中搜索字符串,然后打印文本文件的内容

  24. 24

    在文本文件中搜索多行字符串,然后在Python中返回行号

  25. 25

    扫描文本文件中的字符串,如果找到,则使用该字符串创建新的txt文件

  26. 26

    使用Windows Batch脚本在文件夹中多个文件中的一部分文件名中查找并替换字符串

  27. 27

    通过遍历文本文件查找字符串后转到下一个迭代?

  28. 28

    检查文本文件并使用正则表达式查找字符串模式

  29. 29

    计算文本文件中每个字符串之后包含数字的行数

热门标签

归档