【问题标题】:how to extract text from inside quotes using findstr如何使用 findstr 从引号内提取文本
【发布时间】:2020-10-31 20:21:43
【问题描述】:

我有一个充满文件的目录,我正在尝试查找str并提取引号内的内容

我的测试

G:\Games\Steam\steamapps\common\XXXXXXXXX\addons>findstr addontitle workshop\*.vpk
workshop\XXXXXXXXX.vpk:        addontitle "Addon 1"
workshop\XXXXXXXX.vpk:        addontitle                      "Addon 2"
-cont-

我只想拥有标题

for /f tokens^=1-3delims^=:^" %%i in ('findstr /RC:"addontitle *\".*\"" "workshop\*.vpk"') do (
    echo "FOUND: %%~ni.vpk TITLE: %%k"
    mkdir "custom\%%~ni">nul 2>&1
    mklink ".\custom\%%~ni\pak01_dir.vpk" "..\..\workshop\%%~ni.vpk">nul 2>&1
    echo            Game                "left4dead2\addons\custom\%%~ni"        // %%k>> %GAMEINFO%
)

for /f tokens^=1-3delims^=:^" %%i in ('findstr /VRC:"addontitle *\".*\"" "workshop\*.vpk"') do (
    echo "FOUND: %%~ni.vpk"
    mkdir "custom\%%~ni">nul 2>&1
    mklink ".\custom\%%~ni\pak01_dir.vpk" "..\..\workshop\%%~ni.vpk">nul 2>&1
    echo            Game                "left4dead2\addons\custom\%%~ni"        // ADDON INFO MISSING>> output.txt
)

【问题讨论】:

  • @T3RR0R 我认为使用repl.bat 有点极端,因为文件中似乎只有一个引用的子字符串。
  • 该解决方案效果很好,非常感谢,我有点好奇是否可以查看哪个 vpk 与字符串不匹配,以便我可以手动将它们添加到 output.txt 中?

标签: windows batch-file findstr


【解决方案1】:

这个怎么样?

@echo off
for /f tokens^=1-3delims^=:^" %%i in ('findstr /RC:"addontitle *\".*\"" "workshop\*.vpk"') do (
    mkdir "custom\%%~ni">nul 2>&1
    mklink ".\custom\%%~ni\pak01_dir.vpk" "..\..\workshop\%%~ni.vpk">nul 2>&1
    echo          Game                "XXXXXXXX\addons\custom\%%~ni"        // %%k
)>> output.txt

findstr 在文件列表中使用时无论如何都会获取文件的名称,所以只需使用它。

注意我冒昧地将双引号添加到字符串echoed "XXXXXXXX\addons\custom\%%~ni",如果您不需要它,只需将其删除。

如果addontitle 在任何情况下都可以,请将/I 添加到findstr 命令中。

@echo off
for /f tokens^=1-3delims^=:^" %%i in ('findstr /IRC:"addontitle *\".*\"" "workshop\*.vpk"') do (
    mkdir "custom\%%~ni">nul 2>&1
    mklink ".\custom\%%~ni\pak01_dir.vpk" "..\..\workshop\%%~ni.vpk">nul 2>&1
    echo          Game                "XXXXXXXX\addons\custom\%%~ni"        // %%k
)>> output.txt

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-22
    • 2018-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 2013-10-27
    • 1970-01-01
    相关资源
    最近更新 更多