在使用 CMD 启动的进程内运行命令
Posted
技术标签:
【中文标题】在使用 CMD 启动的进程内运行命令【英文标题】:Run command inside a process started using 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 运行相同的选项。
【问题讨论】:
【参考方案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% 目录尝试了同样的方法,但我无法实现它,现在一切都很好。谢谢!以上是关于在使用 CMD 启动的进程内运行命令的主要内容,如果未能解决你的问题,请参考以下文章
当使用 Java 命令运行 .class 文件的时候,就相当于启动了一个 JVM 进程,如何理解?