如果我的文本文件是以下格式列出的内容:
Thing1 "Description of Thing1"
Thing2 "Description of Thing2"
etc.
如何使用批处理文件仅回显任何给定事物的引号中包含的信息?
编辑:根据答案,我已经尝试了以下内容:
for /f "tokens=1*" %%a in (G:\Games\Console\Emulators\MAME\listfull.txt) do if "%%a"=="%%~nf" set gamename=%%~b
echo !gamename!
if !count!==1 echo|set /P=", "!gamename!": [#name: "%%~nf", #path: "%%~dpf"]" >> "G:\Games\Console\Utilities\Lists\MAME_%%d.txt"
它几乎完全有效;如果描述中包含一个&,符号,那么" echo!gamename!"当下一行没有并且吐出"&'不是命令。 (我必须使用echo | set来生成没有回车符的行。)
Edit2:我发现的唯一解决方案是在每个&之前添加^。在我阅读描述的任何文本文件中。不是理想的解决方法,但是......
答案 0 :(得分:1)
set "search=Thing2"
for /f "tokens=1*" %%a in (textfile.txt) do if "%%a"=="%search%" echo %%~b
如果所有这些脚本都输出了任何给定thing
的信息,那么您可以将搜索更改为%~1
,并在调用脚本时输入该值。
for /f "tokens=1*" %%a in (textfile.txt) do if "%%a"=="%~1" echo %%~b
答案 1 :(得分:0)
for /f "tokens=1*" %%a in (file.txt) do echo(%%~b