批处理文件在字符串中查找子字符串

时间:2015-03-02 11:15:25

标签: string function batch-file find substring

我正在尝试创建一个函数,在另一个字符串中找到一个字符子字符串。我无法使它发挥作用。 (SET" _gf =!_ strif!:〜!_ cf!,1)行不起作用。

注意:下面写的功能是工作更正版:

@ECHO off
setlocal enabledelayedexpansion

SET "_stri=abcdefghij"
SET "_strf=c"
SET "_s=0"
CALL :instr %_stri%, %_strf%, %_s%
echo Found at %_result%. position >> fun.txt
goto :eof

:instr
SETLOCAL
SET "_strif=%1"
SET "_strff=%2"
SET "_sf=%3"
SET "_cf="
SET "_gf="
FOR /L %%a IN (%_sf%,1,10) DO (
    SET "_cf=%%a"
    SET "_gf=!_strif:~%%a,1!"
    IF "!_gf!"=="!_strff!" GOTO ENDF
)
:ENDF
ENDLOCAL & SET "_result=%_cf%"

1 个答案:

答案 0 :(得分:0)

SET "_gf=!_strif!:~!_cf!,1
         ^......^  ^...^    Variable start and end as seen by the parser

更好地使用

SET "_gf=!_strif:~%%a,1!"
相关问题