2011-02-16 6 views
15

私はテキストファイルの最初の行を取得し、それをWindowsの変数に設定する可能な最短のコードを探しています。ファイルの最初の行を変数に設定する最短のWindowsバッチファイルコード?

このStackExchangeサイトの他のスレッドにはこの種の事例がたくさんありますが、私はではありません。はファイル内のすべての行を表示して表示する方法を探しています。私が欲しいのは、ちょうどです。が最初の行を取得します。参照

答えて

29
set /p var= <Text.txt 
echo %var% 

http://forums.techguy.org/software-development/551867-batch-file-read-line-text.html 皮肉なポスターは最初の行を取得することができますが、ファイル全体をループしたかったです!

+2

短い(ワンライナー)のバージョンがありますが、あなたは間にスペースを削除する必要があります。しかし、ここで少し長めの解決策です==と<そうでなければあなたの変数は最初の文字としてスペースを持っています:(これはどのように見えるかです:** set/p var =

+0

私はちょうどあなたが何を答えているかwin7には違いはありません。私がスペースを取得する唯一の方法は、実際にText.txtファイルに入れることです。あなたの提案をテストしましたか? – Joe

+0

それはファイル – Daniel

8

これはわずかに短いバージョンです:私はこれは、Windows 7の下で動作させることができなかった

set/pz=<file 
echo %z% 
+0

はい、私はそれを検証したスペースは必要ありません前に。 2つのスペースを取り除くことで完璧に動作します。いい答え。私はそれが緑のチェックマークに値すると思うが、これはほぼ3年後なので、私は行かない。私は人々があなたの貢献を認識するためにあなたにアップマークを与えることを願っています。 – djangofan

+0

確認していただきありがとうございます。私はそれがいつか誰かを助けることができることを願って、私はそれを投稿しました。 – nephi12

2

。変数は単に設定されませんでした。

for /F "delims=" %%i in (Text.txt) do ( 
    set Z=%%i 
    goto BREAK1 
) 
:BREAK1 
echo %Z% 
+1

これは、最初の行が空であるか ';'で始まり、遅延拡張が有効になっているときに処理するのが難しい場合に失敗します – jeb

1

遅れ展開は(Setlocal EnableDelayedExpansion)の前に有効になっている場合は、そこにうまく機能

set /pz=<filename.txt&echo !z! 
関連する問題