繁体   English   中英

如何使用 findstr 从引号内提取文本

[英]how to extract text from inside quotes using findstr

我有一个充满文件的目录,我正在尝试查找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
)

这个怎么样?

@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在文件列表中使用时无论如何都会获取文件的名称,所以只需使用它。

注意我冒昧地在字符串echo ed "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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM