Windows Vista および Windows Server 2008 の FTP コマンドの標準出力結果を正しくファイルにリダイレクトできない

現象
Windows Vista、および Windows Server 2008 の FTP コマンド (ftp.exe) で、FTP コマンドの標準出力結果をファイルにリダイレクトしようとすると、一部の出力結果を正しくリダイレクトできない場合があります。

なお、コマンド プロンプトには正しい出力結果が表示されます。

Windows 7 および Windows Server 2008 R2 では、ファイルリダイレクトの際に WriteConsole() 関数ではなく WriteFile 関数を使用するように仕様変更されたため、この現象は発生しません。
原因
FTP コマンドでは、コマンド実行結果を WriteConsole() 関数で出力しています。しかし、この WriteConsole() 関数では、ファイルやパイプへのリダイレクトを考慮していないため、ファイルへのリダイレクトが失敗します。

WriteConsole 関数 については、次のマイクロソフト Web サイトを参照してください。
状況
この動作は仕様です。
詳細

問題の再現手順

  1. メモ帳を起動し、以下のコードを入力して、ファイル名を ftpget.txt にしてファイルを保存します。

    open 1.1.1.1anonymouspasswordget File.txt C:\File.txtbye
  2. コマンド プロンプトを起動します。
  3. 以下のコマンドを実行します。

    ftp -i -s:ftpget.txt > output.txt

結果

output.txt ファイル内のコマンド出力結果の一部 (転送速度やエラーメッセージなど) が正しくリダイレクトされません。
プロパティ

文書番号:2028457 - 最終更新日: 10/04/2016 13:51:00 - リビジョン: 4.0

Windows Vista Business, Windows Vista Enterprise, Windows Vista Home Basic, Windows Vista Home Premium, Windows Vista Ultimate, Windows Server 2008 for Itanium-Based Systems, Windows Server 2008 Datacenter, Windows Server 2008 Enterprise, Windows Server 2008 Standard

  • kbharmony kbexpertiseinter kbexpertiseadvanced kbtshoot kbprb KB2028457
フィードバック