从批处理文件在Plink中执行命令

时间:2015-01-25 09:16:00

标签: ssh putty plink

我希望使用Oracle中的expdp命令自动执行导出过程。

以下是我为打开PuTTY而创建的批处理文件的内容。

  

@echo off

     

“C:\ Program Files \ PuTTY \ plink.exe”username @ Ip_Addr -pw password -m Open_Putty.txt`

以下是Open_Putty.txt执行不同命令的内容。

  

echo $ ORACLE_SID;

     

阅读oraenv;

但是在打开Open_Putty.bat后,它会消失而不会显示任何输出。 请帮我解决一下这个。我想设置oraenv并运行更多命令来进行备份。

1 个答案:

答案 0 :(得分:2)

plink.exe在没有显示任何输出的情况下消失的可能性不大。我假设您从Windows资源管理器或其他GUI应用程序执行批处理文件,因此Plink控制台窗口在Plink完成后消失(可能有错误)并且您无法读取输出(错误)。

确保从控制台窗口(通常是plink.exe)执行cmd.exe或在批处理结束时添加pause命令。


确保Plink可以找到脚本文件(Open_Putty.txt)。由于您没有指定文件的路径,因此它必须位于您当前的工作目录中。更安全的是使用脚本文件的完整路径:

"C:\Program Files\PuTTY\plink.exe" username@Ip_Addr -pw password -m "C:\path\Open_Putty.txt"

命令末尾的反引号符号应该不在那里。


名称"打开PuTTY"有点混乱。你根本就没有使用PuTTY。即使您通过" PuTTY"来引用Plink,您的脚本文件(Open_Putty.txt)也不会打开PuTTY,也不会打开Plink。它正在执行远程命令。因此,您最好将其命名为export.txt或类似名称。