gpt4 book ai didi

windows - 如何从包含批处理脚本中分隔符分隔的文本的文件中解析一行

转载 作者:可可西里 更新时间:2023-11-01 10:35:03 30 4
gpt4 key购买 nike

下面是我的代码。

for /F "tokens=1,2,3 delims=;" %%i in (file.txt) do call :process %%i %%j %%k    
goto :ENDPOINT

:process
echo %1
echo %2
echo %3

file.txt 包含

SELECT * FROM ABC;DBNAME;TABLENAME
SELECT * FROM XYZ;DBNAME;TABLENAME
SELECT * FROM PQR;DBNAME;TABLENAME

----------------输出----------------

SELECT
*
FROM

这是错误的,我想要它

SELECT * FROM ABC
DBNAME
TABLENAME

谁能指出错误的地方。
我是批处理脚本的新手。

最佳答案

FOR 循环 delim 按预期工作,但您的 call打扰了你的期待。
那是因为 CALL用多个分隔符分割参数 <space>;=,
为避免这种情况,您可以引用参数并稍后取消引用

for /F "tokens=1,2,3 delims=;" %%i in (file.txt) do call :process "%%i" "%%j" "%%k"
exit /b

:process
echo %~1
echo %~2
echo %~3
exit /b

关于windows - 如何从包含批处理脚本中分隔符分隔的文本的文件中解析一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31938005/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com