【问题标题】:Run command inside a process started using CMD在使用 CMD 启动的进程内运行命令
【发布时间】:2021-07-18 22:44:52
【问题描述】:

我想编写一个批处理文件来运行特定的进程,并在进程本身内部运行一个命令,该命令在命令提示符内运行,然后在控制台上显示结果。

通常,我会打开 CMD,输入进程名称/路径:ggsci.exe,一旦它运行,我会在其中运行命令(它实际上连接到 Oracle DB),例如:

我如何创建一个批处理文件也一样,这会运行进程本身:

@ECHO OFF
ECHO running:
cd /d d:\
ggsci.exe

如何给 ggsci.exe 另一个命令?

另一个选项是使用 PsExec.exe 运行相同的选项。

【问题讨论】:

    标签: batch-file cmd command-line command psexec


    【解决方案1】:

    根据Oracle Golden Gate manual:

    输入脚本

    在操作系统的命令行中使用以下语法。

    ggsci < input_file
    

    更新

    这可能会以同样的方式工作:

    echo SELECT * from my.table|ggsci

    您甚至可以将变量用于动态脚本,但您必须处理特殊符号的转义。

    其他选项是生成一个临时文件然后使用它:

    echo SELECT * from my.table >temp_file
    ggsci < temp_file
    del /q /f temp_file
    

    你甚至可以使用模板files and replace the content

    【讨论】:

    • 完美运行,谢谢,尝试传递一个简单的命令“info all”而不是有一个文件,知道吗?
    • 我通过保存到 %temp% 目录尝试了同样的方法,但我无法实现它,现在一切都很好。谢谢!
    猜你喜欢
    • 2012-10-07
    • 2019-01-17
    • 1970-01-01
    • 2018-04-11
    • 2020-01-16
    • 2019-07-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-04
    相关资源
    最近更新 更多