这是我的蝙蝠文件:
@echo off
for /F "tokens=* delims=," %%a in ('type C:\LocalSecrets\Depolyment.csv ^| findstr "%DomainName%"') do call :parcsv %%a
goto :EOF
:parcsv
echo "%~1" "%~2" "%~3" "%~4"
set x_cola=%~1
set x_colb=%~2
set x_colc=%~3
set x_cold=%~4
goto :EOF
我想要做的是将其存储type C:\LocalSecrets\Depolyment.csv ^| findstr "%DomainName%"
在局部变量中,然后调用for
该变量。
我怎样才能做到这一点?
答案1
SET MYCMD=findstr "%DomainName%" c:\localsecrets\deployment.csv
for /F "tokens=* delims=," %%a in ('%MYCMD%') do ....
请注意,findstr 可以将文件名作为第二个参数,从而避免使用管道,这在将命令存储在环境变量中时会出现问题。
PS.
我假设您只希望在文件中第一次出现 %DomainName% 时调用 parcsv。
否则 CALL 构造根本没有意义。