[前の記事]« Unixサーバ内のディレクトリを圧縮してWindows2000側に保存したい
[次の記事]FOR文のバグレポート(FOR /f "usebackq…) »

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

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

SETの使い方がわからない

1661.
バッチファイル内で変数に値が入りません SETの使い方
2007年02月09日(金) 00時52分
Windows(UNIXではない)で動かすbatファイル内で、
変数に値が入らず困っています。
どうぞ宜しくお願い致します。

(1)
STR1にhead -1 test.txtの値を入れたいのですが、
どの書き方でも入りません。
testという文字列を直に書いてみましたが、
入りませんでした。(ECHO %STR1% の結果は ECHO)

(2)
RID1はxxxのまま変わりません。
(SETを書かない方法や%を前後に付ける等やってみたのですが。

以下ソースです。-----------------------

set STR2="xxx"

SET ANS=0
FOR %%C IN (ANS EQU 0) DO (

   SET STR1 = head -1 test.txt  ←(1)
   %STR1% =head -1 test.txt  
   SET STR1 ="test" 
   
   SET STR2=%STR1%              ←(2)
)
---------------------------------------
1662.
Re:バッチファイル内で変数に値が入りません SETの使い方
2007年02月09日(金) 12時25分
otn
>Windows(UNIXではない)で動かすbatファイル内で、
>変数に値が入らず困っています。
>どうぞ宜しくお願い致します。
>
>(1)
>STR1にhead -1 test.txtの値を入れたいのですが、
>どの書き方でも入りません。
>testという文字列を直に書いてみましたが、
>入りませんでした。(ECHO %STR1% の結果は ECHO)
>
>(2)
>RID1はxxxのまま変わりません。
>(SETを書かない方法や%を前後に付ける等やってみたのですが。

unix経験があるとしても、ドキュメントもヘルプも読まずにというのは無謀です。

>FOR %%C IN (ANS EQU 0) DO (

は意図不明ですが、ANS EQU 0 という記述から察するに、

IF %ANS% EQU 0 (

ということをやりたいのでしょうかね。
あるいはunixのシェルでもforは条件判断ではなく繰り返しなので、何か繰り返しをしたいのでしょうか?

あと、変数STR1にコマンドhead -1 test.txtの標準出力をセットしたいということであれば、

for /f "delims=" %%A in ('head -1 test.txt') do set STR1=%%A

です。
単にtest.txtの1行目をSTR1にセットしたいのなら、
set /p STR1=<test.txt
という記述でもできます。

 
 


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

 




カテゴリー一覧

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


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

資料書籍

About

2007年02月09日 11:11に投稿されたエントリーのページです。

ひとつ前の投稿は「Unixサーバ内のディレクトリを圧縮してWindows2000側に保存したい」です。

次の投稿は「FOR文のバグレポート(FOR /f "usebackq…)」です。

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

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