[前の記事]« 本日更新されたファイルかどうかを判定したい
[次の記事]"0"詰め形式に日付・時刻を加工するには »

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

▲カテゴリー「FOR .. IN ( ) DO..」索引へ

コマンド・プロンプト上では問題ないのにバッチファイルが実行されない

776.
FOR文を使用しての変数代入について
2004年09月09日(木) 12時13分
JJK
リモートマシンのファイルにある変数を代入してバッチファイルを
作成したいと考えております。
バッチファイルの命令文を1行ずつコマンドプロンプト上で実行すると
OKなのですが、バッチファイルとして実行するとFOR文の命令が実行
されず、バッチファイルが終了してしまいます。
お解りの方助けてください。Windows2000Serverの環境です。
宜しくお願いします。

echo off
net use F: \\RemoteServer\log /user:test test
for /F "tokens=3" %a in (F:\count) do if %a gtr 0 msg Administrator %a個存在します。
net use F: /delete
exit

countファイルの中身
---------- C:\ERROR.CSV: 5
777.
Re:FOR文を使用しての変数代入について
2004年09月09日(木) 12時39分
じゃく
こんにちは

>バッチファイルの命令文を1行ずつコマンドプロンプト上で実行すると
>OKなのですが、バッチファイルとして実行するとFOR文の命令が実行
>されず、バッチファイルが終了してしまいます。

>for /F "tokens=3" %a in (F:\count) do if %a gtr 0 msg Administrator %a個存在します。

バッチ内の %a を %%a に修正してください。

以下は for /? のヘルプの抜粋です。
C:\>for /?
指定されたコマンドをファイル セットの各ファイルに対して実行します。

FOR %変数 IN (セット) DO コマンド [コマンドパラメータ]

  %変数     単一文字の置き換え可能なパラメータを指定します。
  (セット)  ファイル セットを指定します。ワイルドカードを使用できます。
  コマンド  各ファイルごとに実行するコマンドを指定します。
  コマンドパラメータ
            指定されたコマンドのパラメータまたはスイッチを指定します。

バッチ プログラムで FOR コマンドを使用するときは、%変数の代わりに、
%%変数を使用してください。変数名では大文字と小文字が区別されるため、
%i と %I は異なります。
778.
Re2:FOR文を使用しての変数代入について
2004年09月09日(木) 13時00分
JJK
じゃくさん

こんにちはJJKです。

ご指摘の通り、%aを%%aに変更してうまくいきました。
HELPでは%%と書かれておりましたが、テストをコマンド
プロンプト上で行っていましたもので。。。。
(for文をよくわからず使用していたのもありますが)

この度は素早いご返信、有難うございました。
大変助かりました。また何かありましたら宜しくお願いします。

>バッチ プログラムで FOR コマンドを使用するときは、%変数の代わりに、
>%%変数を使用してください。変数名では大文字と小文字が区別されるため、
>%i と %I は異なります。


 
 


カテゴリー「FOR .. IN ( ) DO..」索引へ

 

カテゴリー一覧

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


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

資料書籍

About

2004年09月09日 12:23に投稿されたエントリーのページです。

ひとつ前の投稿は「本日更新されたファイルかどうかを判定したい」です。

次の投稿は「"0"詰め形式に日付・時刻を加工するには」です。

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

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