パテを介してUNIXサーバーに接続するためにQTPでVBスクリプトを使用しています。現在のディレクトリのすべてのファイルを一覧表示する必要がありますが、次のスクリプトを実行すると、「無効なポート番号」エラーが表示されます。
Set p_oWShell= CreateObject( "WScript.Shell" )
unix_cmd=" cd /home/SHOME/batch"
lscmd = " ls /home/SHOME/batch"
Set oSession = oWShell.exec( puttyLOC & " " & sHost & " -l " & sUser & " -pw " & sPasswd & unix_cmd)
または
Set oSession = oWShell.exec( puttyLOC & " " & sHost & " -l " & sUser & " -pw " & sPasswd & lscmd )
また、ローカルのWindowsコンピュータからUnixサーバーに、またはその逆にファイルをアップロードする必要があります。
注:次のコードをテストしましたが、問題なくサーバーに接続しました。
Set oSession = oWShell.exec( puttyLOC & " " & sHost & " -l " & sUser & " -pw " & sPasswd)
ベストアンサー1
Putty構文では、同じ行にリモートコマンドを指定することはできません。
この問題を解決するには、2 つの可能なオプションがあります。
- Puttyの代わりにplink.exeを使用してください。
P:\ath\to\plink user@host command
- コマンドをファイルに入れ、-m スイッチを使用します。
P:\ath\to\putty user@host -m p:\ath\to\file
WindowsボックスからUnixにファイルを転送するには、同様の構文を持つpscp.exeユーティリティを使用できます。
pscp "P:\ath\to\file.txt" user@host:/destination/dir/
plink.exeとpscp.exeはputtyパッケージに含まれているユーティリティなので、例ではパスワードオプションを省略しています。