[前の記事]« 各ディレクトリ内のjpgファイルを1箇所のディレクトリへコピーしたい
[次の記事]makecabが失敗してしまう »

関連オンラインソフト配布サイト:
Vector>ダウンロード(top) |>MS-DOSまたは汎用 | >WindowsVista/XP/2000/NT

▲カテゴリー「SET, PATH, %環境変数%」索引へ

ファイルの一行目を取得して環境変数に設定する方法

1284.
ファイルの一行目を取得して環境変数に設定する方法についてです
2006年07月19日(水) 08時10分
てるお
はじめまして、てるおと申します。
●環境
 OSは特に決まっていないですが、Windows 2000 Server
 や Windows Server 2003 などのサーバ系です。

●質問
 ファイルの一行目を取得して環境変数に設定
 する方法を教えて下さい。
 例、C:\test.txt の一行目を取得して環境変数
 に設定する。

 今考えているのは、
 環境変数1=
 FOR /F %%i in ( c:\test.txt ) do (
    set 環境変数1=%%i
  )
 でまわして、一回目のループで抜けるように
 しようと思っているのですが、もっとよい方法
 がありましたら教えて下さい。
 少し前の > 1224.指定行の削除 
  と言うのも参考にしたのですが、うまくできま
 せんでした。

 ※ 本日午後から外出してしまいますが、
   週末には確認させていただきます。
1289.
Re:ファイルの一行目を取得して環境変数に設定する方法についてです
2006年07月19日(水) 15時44分
otn
> ファイルの一行目を取得して環境変数に設定
> する方法を教えて下さい。

1行目だけで良いなら、

set /p VAR=<filename.txt

が簡単です。

1292.
Re:ファイルの一行目を取得して環境変数に設定する方法についてです
2006年07月19日(水) 18時35分
てるお
otnさん、ご連絡ありがとうございます。
こんないい方法があるのですね。
表示したいのがファイルの一行目ではなく、
dir の結果の一番最初の行などでも可能でしょうか。
それとも dir の結果を一度ファイルに入れないと
出来ないでしょうか。

1293.
Re:ファイルの一行目を取得して環境変数に設定する方法についてです
2006年07月20日(木) 04時20分
otn
>表示したいのがファイルの一行目ではなく、
>dir の結果の一番最初の行などでも可能でしょうか。
>それとも dir の結果を一度ファイルに入れないと
>出来ないでしょうか。

聞くより自分でやってみたほうが早いと思うんですが、何故やらないんでしょう?あるいは、やってみたけど、出来ないので聞いているということでしょうか?それならそう書いてください。

dir | set /p VAR= のような set /p でパイプからの入力は出来ません。正確にはサブシェルの環境変数にセットされるのでパイプが終了した時点で消えうせます。
dir | (set /p VAR=&set) でサブシェル内ではセットされている様子がわかります。

したがって、set /p を使うなら一旦ファイルに書く必要があります。
私なら一時ファイルを使うくらいなら、for /f を使います。
1295.
Re:ファイルの一行目を取得して環境変数に設定する方法についてです
2006年07月20日(木) 19時10分
てるお
otn さん、ありがとうございます。
いただいた回答を参考にやってみてダメだったんですが、
それが自分のやり方が悪いのか、本当に出来ないのか
判断できませんでした。
otnさんの説明を読んで、出来ない理由が良くわかりました。
実際にはご指摘の通り、ファイルに出力せず for /f で
対応しようと思います。
最初の一行なので、1回目のループでset して抜けるか、
dir の出力を逆順にして、最後の値がset されるようにしようと
思います。
ありがとうございました。
 
 


カテゴリー「SET, PATH, %環境変数%」索引へ

 

カテゴリー一覧

FPCU/FPCDIY QUICK LINK online
この上の各ジャンル名をクリックすると、下のウィンドウが切り替わります▼


=リンク集のインデックスはこちら=

資料書籍

About

2006年07月19日 14:40に投稿されたエントリーのページです。

ひとつ前の投稿は「各ディレクトリ内のjpgファイルを1箇所のディレクトリへコピーしたい」です。

次の投稿は「makecabが失敗してしまう」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

This site is powered by Six Apart
Movable Type 3.33-ja
このブログについて | 運営:有限会社メディアポート