我需要在文件中搜索第一次出现的字符串。
我有这个 php 文件:
<?php
#---------------------------------------------------------------------------------------
#
#
# Gpl V2 and further license updates applies to this code
#
# 2015/05/21
#
#-------------------------------------------------------------------------------
error_reporting(0);
$version = '1.0 Alpha';
//some code
echo "\r\n===== ".$argv[0]." ".$version.": Select a channel =====: ";
我需要找到这个值 1.0 Alpha 。我在一个 bat 文件中写了这段代码。
for /f "tokens=*" %%x in ('findstr "$version" %~1') do (
set str=%%x
)
但他找到了所有第二个字符串: echo "\r\n===== ".$argv[0]."".$version.": Select a channel =====: ";
解决方案?
最后一件事,脚本可以从 $version = '1.0 Alpha';
更改为 $version = "1.0 Alpha";
报价可能会改变。
最佳答案
您需要在找到第一次出现的字符串后退出循环。试试这个:
for /f "tokens=*" %%x in ('findstr "$version" %~1') do (
set str=%%x
goto :EndFor
)
:EndFor
set str=%str:"='%
for /f "tokens=2 delims='" %%x in ('echo(%str%') do set str=%%x
echo(str=%str%
pause
关于Windows批处理文件,在标签之间找到一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31322020/