FTPサーバはwindows2003のIISです
FTPクライアントはwindows2000,xpの標準添付のftpコマンドです
バッチファイル中でFTP -S:C:\FTPCMD.TXT
みたいな感じで起動していますが
FTP正常・異常にかかわらず常にERRORLEVELは0が
返ってきます
なんとかバッチファイル中で正常通信できたか
できないか判断したいのです
その判断方法をアドバイス下さい
※その他の手段として
バッチファイルでコマンド起動できるFTPクライアントソフト
(できればフリー)を使えばERRORLEVELが返ってくるよという
ものがありましたら紹介頂けると嬉しいです
もしくは
ProFTPDが転送中のファイルを".in.{ファイル名}"として、転送完了すると"{ファイル名}"に変更する機能がある
そうですがこれと同じような機能はIISのFTPにはないのでしょうか?
設定を探してみましたが見つかりませんでした
(FTPサーバーはIIS以外に変更できません)
No.2ベストアンサー
- 回答日時:
ftpコマンドの終了コード(ERRORLEVE)は、ftpコマンド自体の正常終了・異常終了を表します。
例えば、ftp -s:存在しないファイル だと、ERRORLEVEL が非0になります。getやputといったサブコマンドの正常・終了は、補足に書かれている通り、メッセージを見るしかないです。
>findコマンドの判定をバッチファイル中で行う方法さえ
ERRORLEVEL をご存じなのに何故??
ftp -s:xxxx > xxxx.log
FIND /i "226 Transfer complete" c:\xxxx.log >NUL
exit /b %ERRORLEVEL%
もしくは、
ftp -s:xxxx > xxxx.log
FIND /i "226 Transfer complete" c:\xxxx.log >NUL
if ERRORLEVEL 1 exit /b 1
exit /b 0
注意としては、get/put だけでなく lsやdirでもtransfer completeが出ますので、それらを使うと必ずfindが成功します。
No.1
- 回答日時:
FTPコマンドにそれらの機能が、あるはずもありません。
もともと、自動化を狙ったこまんどでないため、軽快に簡単に使う事を目的としています。自動化には、WSHやPowerShellなるものを用意していますね。UNIX系ならシェルスクリプトで達成できますが、Windowdsではこの2つです。
代替のやり方として、FTPから出力されるメッセージを拾うやり方がありますね。エラーメッセージだったら、ファイル名を変更する、などと操作すればいいだけです。
例として下記のような仕組みを利用する方法があります。
http://msdn.microsoft.com/ja-jp/library/cc364510 …
又、WMIなどをWSHから使う方法もあります。このWMIはエクセルなどからも使えるので、面白かもしれません。
ようは、標準出力に出力される場合の処理と、エラー出力に出力される場合、両方の場合、調査して、それぞれループさせれば、希望の仕組みはスクリプトレベルでカスタム可能です。
これはらは、ASPなどからも使用可能ですので、IISから公開するWebページとの組み合わせも可能です。業務用のWebアプリはこれらを駆使してなりたっています。
なお、.NETを使えば簡単にできます。
この回答への補足
ふと思ったのですが
FTP -S:C:\FTPCMD.TXT > C:\XXXX.LOG
みたいにリダイレクトして
このファイルをバッチファイル中で
FIND /i "226 Transfer complete" c:\xxxx.log
でを活用して判断できないでしょうか?
わからないのがfindコマンドを手動で実行する分には
人間が目視すれば結果がわかりますが
これをバッチファイル中で
findコマンドを実行し結果により指定
キーワードが見つからない場合は
exit /b 1 で終了し(終了コード1を返す)
キーワードが見つかった場合は
exit /b 0 で終了する(正常終了)
みたいな判断をfindコマンドを使う事によりできないでしょうか?
findコマンドの判定をバッチファイル中で行う方法さえ
わかれば・・・
こんにちは
FTPコマンドにはありませんでしたか・・・
WMIをWSHから使ったことが無いので
具体的にどのようにプログラミングしていいか
わかりませんでした
FTPコマンドのメッセージを拾うサンプル等
どこかのホームページで見られないでしょうか?
.NETを使う場合というのは
.NETでFTPクライアントと同等の機能を持った汎用的な
プログラムを作る(失敗時にはちゃんとしたエラーコードを返す)
という事でしょうか?
VISUALBASIC.NETは使った事はありますが
まだ同等機能を自作するまではできません・・・
こちらもどこかのホームページで何かサンプル等があるなら
参考にしたいのですがご存知ないでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- サーバー Googleドライブなどを使わずにテザリングAndroidでWindowsとファイル共有 1 2023/02/19 13:14
- サーバー FTPサーバについて詳しい方(アクセス権のないディレクトリを非表示にする方法) 4 2022/08/22 22:33
- プロバイダー・ISP hpb22の接続方法の変更 1 2023/08/06 18:47
- サーバー FFFTPで特定サイトだけUploadできない 4 2022/08/27 14:53
- デスクトップパソコン ウイルスに感染しないファイルのバックアップ方法について 5 2022/09/11 11:27
- その他(インターネット接続・インフラ) 楽天ひかりでホームページアップロードが出来ない 1 2022/07/30 10:02
- サーバー ECサイトのFTPサーバーに使わないファイル20GBくらいがあるのですが、削除したら表示速度やページ 2 2022/12/20 08:45
- ドメイン・サーバー・クラウドサービス FileZillaを使用してwpXサーバーに接続できない 2 2022/03/29 21:02
- その他(プログラミング・Web制作) wordpress 管理画面にログインについて(ftpファイル抹消してしまう) 2 2023/02/06 19:45
- サーバー NASの利用経験多い方教えてください! 1 2022/03/24 19:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチ終了時にDOS窓を閉じるコ...
-
ショートカットをデスクトップ...
-
バッチファイル 文字列にスペ...
-
make test って何をするための...
-
コマンドプロンプトでファイル...
-
バッチファイルを使ってテキス...
-
AccessVBAから差し込みWORD起動...
-
コマンドプロンプト
-
VB.NETでのDOSコマンドを実行に...
-
コマンドプロンプトを最小化し...
-
Ethnaで作ったサイトのアップの...
-
SSH接続でwindowsサーバのコマ...
-
コマンド プロンプト
-
C言語で、string.h conio.hを使...
-
コマンドプロンプトで、特定の...
-
FTPコマンドを非表示にする
-
BATファイル作成時の記述に...
-
バッチファイルで文字列を順番...
-
ftp受信確認
-
DOSコマンドに詳しい方、お知恵...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ終了時にDOS窓を閉じるコ...
-
バッチファイル 文字列にスペ...
-
make test って何をするための...
-
コマンドプロンプトをクリック...
-
ショートカットをデスクトップ...
-
バッチファイルを使ってテキス...
-
シェルの「:コマンドが見つか...
-
ftpコマンドを実行すると「425 ...
-
コンピュータ名をファイル名に...
-
バッチコマンドのIF文(条件...
-
SSH接続でwindowsサーバのコマ...
-
findstrでヒットした1行前の文...
-
コマンドプロンプトで、特定の...
-
FTP送信エラーの検知について
-
DOSコマンドで指定日数よりも過...
-
ftpコマンド出力結果の取得
-
Pythonで単純にファイルを結合...
-
コマンドプロンプトを最小化し...
-
AccessVBAで実行時間を指定する...
-
2つ目の「pause」は無効?
おすすめ情報