将变量放入FOR..IN

时间:2016-03-05 13:18:44

标签: batch-file cmd

我试图实现this示例,但我需要从用户输入向t.sql发送参数,如下所示:

t.sql

set timing off
set feedback off
set pages 0
select sysdate from dual;
exit

批处理文件

SET /P %arg%="Please enter argument for t.sql: "
FOR /F "usebackq delims=!" %%i IN (`sqlplus -s u/p@db @t.sql %arg%`) DO set xresult=%%i
echo %xresult%

但是sqlplus没有收到%arg%

看起来很简单,但如何正确地将%arg%的内容放入IN(``)?

1 个答案:

答案 0 :(得分:1)

你应该这样写:

@echo off
SET /P "arg=Please enter argument for t.sql: "
echo %arg%
Pause
FOR /F "usebackq delims=!" %%i IN (`sqlplus -s u/p@db @t.sql %arg%`) DO set xresult=%%i
echo %xresult%
Pause