如何使用 findstr 从引号内提取文本
how to extract text from inside quotes using findstr
我有一个充满文件的目录,我正在尝试查找并提取引号内的内容
我的测试
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"
不需要的直接去掉就行了[= =18=]
如果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
我有一个充满文件的目录,我正在尝试查找并提取引号内的内容
我的测试
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"
不需要的直接去掉就行了[= =18=]
如果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