Batch file 批处理文件执行问题(调用不起作用)

Batch file 批处理文件执行问题(调用不起作用),batch-file,command-prompt,sqlplus,Batch File,Command Prompt,Sqlplus,我已经疯狂地研究了几天为什么我的批处理文件不能正常执行。当我在命令提示符下复制并粘贴代码时,它工作正常,但执行批处理文件只运行一行,然后停止 以下是批处理文件中的代码: sqlplus -s user/password set colsep ' ' set linesize 32000 set echo off set feedback off set trimspool on set newpage 0 set pagesi

我已经疯狂地研究了几天为什么我的批处理文件不能正常执行。当我在命令提示符下复制并粘贴代码时,它工作正常,但执行批处理文件只运行一行,然后停止

以下是批处理文件中的代码:

    sqlplus -s user/password
    set colsep '    '
    set linesize 32000
    set echo off
    set feedback off
    set trimspool on
    set newpage 0
    set pagesize 0
    spool c:\temp\suggmoves.txt
    select * from suggestive_moves;
    spool off
    quit
    exit

我找到的唯一解决方案是使用CALL,但我没有调用另一个批处理文件,而且无论如何都不起作用。

这不是批处理文件。这是一个SQLPlus脚本

它在命令行中工作的原因是SQLPlus向您展示了它自己的命令提示符。从
set colsep
quit
的所有内容都需要输入到SQLPlus的提示符中。您编写的批处理文件正在Windows命令提示符中键入它们

要执行所需操作,请将SQLPlus命令放入一个单独的文件中,并使用@option来执行SQLPlus:

sqlplus -s user/password @sqlscript.sql

这不是批处理文件。这是一个SQLPlus脚本

它在命令行中工作的原因是SQLPlus向您展示了它自己的命令提示符。从
set colsep
quit
的所有内容都需要输入到SQLPlus的提示符中。您编写的批处理文件正在Windows命令提示符中键入它们

要执行所需操作,请将SQLPlus命令放入一个单独的文件中,并使用@option来执行SQLPlus:

sqlplus -s user/password @sqlscript.sql

这不是批处理文件。这是一个SQLPlus脚本

它在命令行中工作的原因是SQLPlus向您展示了它自己的命令提示符。从
set colsep
quit
的所有内容都需要输入到SQLPlus的提示符中。您编写的批处理文件正在Windows命令提示符中键入它们

要执行所需操作,请将SQLPlus命令放入一个单独的文件中,并使用@option来执行SQLPlus:

sqlplus -s user/password @sqlscript.sql

这不是批处理文件。这是一个SQLPlus脚本

它在命令行中工作的原因是SQLPlus向您展示了它自己的命令提示符。从
set colsep
quit
的所有内容都需要输入到SQLPlus的提示符中。您编写的批处理文件正在Windows命令提示符中键入它们

要执行所需操作,请将SQLPlus命令放入一个单独的文件中,并使用@option来执行SQLPlus:

sqlplus -s user/password @sqlscript.sql

您必须重定向输入以通过sqlplus执行命令,而不是将其解释为shell命令,并且在sqlplus中不执行任何操作。我认为sqlplus会等待任何停止脚本执行的输入,直到sqlplus停止/终止/退出


要将命令直接作为sqlplus命令输入脚本,您可以使用
,您必须重定向输入以通过sqlplus执行命令,而不是将其解释为shell命令,并且不在sqlplus中执行任何操作。我认为sqlplus会等待任何停止脚本执行的输入,直到sqlplus停止/终止/退出


要将命令直接作为sqlplus命令输入脚本,您可以使用
,您必须重定向输入以通过sqlplus执行命令,而不是将其解释为shell命令,并且不在sqlplus中执行任何操作。我认为sqlplus会等待任何停止脚本执行的输入,直到sqlplus停止/终止/退出


要将命令直接作为sqlplus命令输入脚本,您可以使用
,您必须重定向输入以通过sqlplus执行命令,而不是将其解释为shell命令,并且不在sqlplus中执行任何操作。我认为sqlplus会等待任何停止脚本执行的输入,直到sqlplus停止/终止/退出


要将命令直接作为sqlplus命令输入脚本,可以使用
Excellent!非常感谢。杰出的非常感谢。杰出的非常感谢。杰出的非常感谢。