2

私は通常の curl ユーザーではありませんが、ときどき何かをテストするために使用します。
だから私はコマンドラインでこれを書いていました:

curl -o:output.html www.google.com

エラーは発生しませんでした。すべて問題ないように見えましたが、出力ファイルは表示されませんでした。
プロセス モニターを開始し、何が起こっているかを確認しました。下のスクリーンショットから、何が問題であったかは明らかだと思いますが、ここで質問です。なぜ 3 つの操作すべてが成功としてマークされているのですか? ディスク全体でファイル名を検索しましたが、ファイルがなく、ファイルの作成結果が上書きされたため、実際にはどこかに保存されたようです。 ここに画像の説明を入力

4

1 に答える 1

2

"output.html" は、ディレクトリ (または場合によってはファイル) "C:\demo"の名前付きストリームです。

残念ながら、copyコマンドはストリーム構文を好まないため、データを通常のファイルにコピーするために使用することはできません。あなたが使用することができます:

notepad c:\demo:output.html

データを別の場所に保存します。

元の問題は、curl 構文が間違っていたことです。curl はコロンを必要としないように見えるため、コロンをファイル名の一部として扱い、Windows がストリーム名として解釈するようにしました。

sysinternals Stream ツールを使用して、名前付きストリームを一覧表示できます。

于 2014-12-11T15:03:44.200 に答える