这是我第一次处理批处理文件。我试图从原始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“,并且在将4列的特定行输出到csv之前,param10从一个特定的字符串"100”开始。
我检查了如何使用这个链接中的if-语句:https://stackoverflow.com/a/17474377/10671013,但是我还没有找到任何关于“包含子字符串”或“从字符串开始”的链接。请给我建议。
发布于 2022-07-22 15:01:56
从第一列中删除查找的子字符串,并将其与原始字符串进行比较,如果不相等( string包含子字符串),则检查另一列的前三个字符。(此子字符串替换不区分大小写):
if not "!param1:@gmail.com=!" == "!param1!" if "!param10:~0,3!" == "100" echo ...https://stackoverflow.com/questions/73081959
复制相似问题