2017-01-16 12 views
0

CURL応答をtxtファイルに書き込んでから変数に戻そうとしていますが、変数は空のままです。バッチでCURL応答をテキストファイルに書き込む

@echo off 
curl "http://www.example.com/check" >>temp.txt 
set /p result=<temp.txt 
echo %result% 
pause 

メモ帳でtemp.txtを開くと、すべてが表示されます。

変数にメモ帳から追加するテキストが入力されていることがわかりましたが、CURLリクエストのすべてのテキストはスキップされます。 エンコードが間違っている可能性がありますか?それは読むことができないようにテキストを書くことがとても奇妙です。

+3

'for/f'を使用して、curlコマンドの出力を直接処理して解析します。そして、私たちに[mcve]を教えてください – LotPings

+0

なぜファイル全体を変数に入れたいのですか?あなたが '%result%'に入ったら、データで何をするつもりですか? – abelenky

+0

@abelenkyリクエストが成功を返すかどうかを確認するだけです。応答は単なるメッセージです。 – Toydor

答えて

0

バッチ変数には1行のテキストしか含めることができません。
変数がファイル全体の内容を持つことは実際には意味がありません。

ファイルのtemp.txtファイルの最後の行は空白なので、result変数には空白行だけが表示されます。


証拠:

TEMP.TXTファイル:

Line 1 
Hello World 
Line 3 
Last Line 

ラン:

set /p result=<temp.txt 
echo %result% 

結果:

Last Line 
+3

実際にそのコードをテストしましたか?あなたの例では、ファイルのset/pコマンドへのリダイレクトは、ファイルの最初の行だけを取得します。今度は、ファイルの内容を4つのset/p文を持つコードブロックにリダイレクトした場合、4行を4つの別々の変数に取り込むことができます。 – Squashman

関連する問題