
いつも参考にさせて頂いております。
当方環境:
OS WinXP
WSH Version 5.7
現在、WSH+JScript でFTPによるファイル転送のプログラムを作成しております。
ところが、実行させてみると、FTPコマンド実行のところでエラーが発生します。
(IPやコマンドファイルはスクリプト内で取得しています)
var ws = WScript.CreateObject("WScript.Shell");
var errCode = ws.Run("ftp -i -s:"+cf+" "+ip_add,0,true);
エラーメッセージ:「処理を待つことができません。」
MicrosoftのHPで検索したら、以下の事が分かりました。
「通常このエラーは、あるプロセス (ショートカット リンクの実行など) が完了するまでスクリプトが待機しているときに、そのプロセスが値を返さない場合に発生します。」
色々なHP見ても、大体皆さんFTPコマンドはこのように実行されているんですが、どこが違うのでしょうか?
また、このエラーへの対処方法をご存知の方がいらっしゃいましたら、
ご教授下さい。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
iriyakさんと同様に、以下の環境とテストファイルを準備してクライアントから実行してみましたが
特にエラーは出ませんでした。
(「test.dat」を送信して、「test1.dat」で受信し直すといった簡単なサンプルです。)
FTPを実行する前にどんなコマンドを実行しているか確認された方がよいです。
また、スクリプト中で動かす内容を実際に手動で実行してみて、どんなエラーが出ているのか
確認された方が解決の早道かも知れません。
◆テスト環境◆
【クライアント】
OS:Win XP Pro SP2(WSH v5.6)
【サーバ】
OS:Win 2k
※FTP用アカウントとして、ユーザ名「user1」、パスワード「user1」で作成
更に、FTPの仮想ディレクトリ「/user1」を読み書きOKで作成
(user1でログインすると、ここがカレントディレクトリになります)
【クライアント側に用意して実行】
「c:\temp\test.dat」…送信ファイル(15MB程度のファイル)
「test.ftp」…FTPコマンドファイル(拡張子は適当です)
「test.wsf」…テスト用WSHファイル(FTPサーバのIPアドレスは変更して下さい)
■ test.ftp
user1
user1
binary
put c:\temp\test.dat test.dat
get test.dat c:\temp\test1.dat
close
quit
■ test.wsf
<package>
<job ID="TEST_FTP">
<object id="ws" progid="WScript.Shell"/>
<script language="JScript">
var cf = "test.ftp";
var ip_add = "xx.xx.xx.xx"; // 環境に合せて変えて下さい
var cmd = "ftp -w:8196 -i -s:"+cf+" "+ip_add;
ws.Popup(cmd);// 実行内容を確認&手動で実行してみましょう
var errCode = ws.Run(cmd,0,true);
ws.Popup(errCode);
</script>
</job>
</package>
回答ありがとうございます。
やはりエラーになりませんか…。
色々と試行錯誤をしておりましたところ、
Run を Excec に変えたらエラーが出なくなりました。
やってることは同じなんですが…不思議です。
No.2
- 回答日時:
こんにちは。
wscript.exe test.js で試してみましたが、特にそのような状況に遭遇していません。s オプションで与えるスクリプトファイルの最後の quit コマンドを除いてしばらく待たせてから quit とマニュアルでタイプして終わらせたら、finished と表示されました。再現できる条件を共有できると別のサジェッションができるかもしれません。
■ test.js (コマンドプロンプトを表示させました)
var ws = WScript.CreateObject("WScript.Shell");
var errCode = ws.Run("ftp.exe -i -s:c:\\scr.txt", 1 , true);
WScript.echo('finished');
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
これってパソコンの最適化が完...
-
エクセル フォルダの画像を画...
-
実行中のログをフォームのテキ...
-
ソフトのダウンロード
-
vbscriptを用いて他のVBSファイ...
-
バッチファイルの内容を表示さ...
-
Access の VBA 実行中に他の操...
-
VBScriptの実行完了を待ってか...
-
PDFファイルを開き、印刷し、閉...
-
シェルからCで作った実行ファイ...
-
exeファイルを実行するとコマン...
-
[teraterm] waitコマンドで停止...
-
USBメモリから読み出しができな...
-
VBSでExcel上の数字に連番をふ...
-
VBScriptでコマンドプロンプト...
-
バッチファイルで以下のような...
-
大量のフォルダからひとつのフ...
-
エクセルのVBAについて とある...
-
特定フォルダ内のファイルを自...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
[teraterm] waitコマンドで停止...
-
複数のbatファイルを自動実行し...
-
これってパソコンの最適化が完...
-
Windows System32 Security Hea...
-
「読み取りと実行」と「読み取...
-
バッチファイルの内容を表示さ...
-
VBscriptが起動しない?
-
exeファイルを実行するとコマン...
-
Access の VBA 実行中に他の操...
-
Excel(エクセル) VBA プロシー...
-
PDFファイルを開き、印刷し、閉...
-
ネットワーク名が見つかりません
-
pythonスクリプトを管理者権限...
-
エクセル フォルダの画像を画...
-
VBScriptでコマンドプロンプト...
-
Excel VBA ステップインが途中...
-
WSH.Run の処理内容をテキスト...
-
バッチファイルが不正終了して...
-
ExcelのVBAが特定のPC上でのみ...
おすすめ情報