如何检查列包含子字符串,而另一列以子字符串开头



这是我第一次使用批处理文件。我正在尝试从原始csv中提取某些列,并通过管道输出到新csv。以下代码是我基于这个链接编写的:

https://stackoverflow.com/a/17557532/16034206

@echo off 
setlocal EnableDelayedExpansion
Rem for /f "skip=1 usebackq tokens=1,2,10,11 delims=," %%i in (sample.csv) do @echo %%i,%%j,%%k,%%l >>output.csv
echo "Your script is starting..."
FOR /F "skip=1 usebackq delims=" %%L in (sample.csv) DO (
    set "line=%%L,,,,,,,,"
    set "line=#!line:,=,#!"
    FOR /F "tokens=1,2,10,11 delims=," %%a in ("!line!") DO (
        set "param1=%%a"
        set "param2=%%b"
        set "param10=%%c"
        set "param11=%%d"
        set "param1=!param1:~1!"
        set "param2=!param2:~1!"
        set "param10=!param10:~1!"
        set "param11=!param11:~1!"
        if "%%~A"=="RH" echo !param1!, !param2!, !param10!, !param11! >> output.csv
    )
)
echo "Your script has completed"

我希望应用逻辑来检查param1是否包含子字符串"@gmail.com";AND,param10以特定字符串"0"开始;100〃;然后将4列的特定行输出到csv中。

我从这个链接检查了如何使用if语句:https://stackoverflow.com/a/17474377/10671013但我没有在SO上找到任何讨论";包含子串";或检查";以字符串"开始;。请告知。

从第一列中删除您要查找的子字符串,并将其与原始字符串进行比较,如果不相等(字符串包含子字符串(,请检查另一列的前三个字符。(此子字符串替换不区分大小写(:

if not "!param1:@gmail.com=!" == "!param1!" if  "!param10:~0,3!" == "100" echo ...

相关内容

最新更新