アプリ版:「スタンプのみでお礼する」機能のリリースについて

コマンドプロンプトにて
下記のコードを作っているのですが
) else if not "%%i"=="--*" (
の部分で、「--」を含んだ場合は処理しないように
したくワイルドカードを設定してみたのですが
うまく判断されません。
ワイルドカードは使えないのでしょうか?

rem //グループ一覧取得
echo "">>"%LOGFILE%" 2>&1
echo "グループ一覧">>"%LOGFILE%" 2>&1
for /f "tokens=1" %%i in ('net localgroup') do (
if "%%i"=="コマンドは正常に終了しました。" (
echo "グループ一覧取得完了"
) else if not "%%i"=="--*" (
rem //ファイル出力処理
echo "%%i">>"%LOGFILE%" 2>&1
)
)

A 回答 (3件)

if 文の文字列比較でワイルドカードは使えません。


発想をかえて、net localgroup コマンドの実行結果から"--"を含んだ行を取り除く方法に変えてはどうでしょうか? find /V "--" で "--"を除いた行が表示されます。

rem //グループ一覧取得
echo "">>"%LOGFILE%" 2>&1
echo "グループ一覧">>"%LOGFILE%" 2>&1
for /f "tokens=1" %%i in ('net localgroup^|find /v "--"') do (
if "%%i"=="コマンドは正常に終了しました。" (
echo "グループ一覧取得完了"
) else (
rem //ファイル出力処理
echo "%%i">>"%LOGFILE%" 2>&1
)
)
    • good
    • 0
この回答へのお礼

>if 文の文字列比較でワイルドカード使えません。
そうでしたか、ありがとうございます。

お礼日時:2008/05/30 15:46

lensentさん 今日は!


MS-DOSのサイトです↓
http://www1.plala.or.jp/tsune/2msdos.html
参考にして下さい。
    • good
    • 1
この回答へのお礼

ありがとうございます。
参考にさせていただきます。

お礼日時:2008/05/30 15:45

これだと[--*]という文字列が含まれる場合、という解釈になりますね。


含まれるだけなら[--]でいいのではないかとおもいます。
    • good
    • 0
この回答へのお礼

やってみたのですが、
if not "%%i"=="--" (
でしてみたのですが、
その場合「--」だけを認識してしまうらしく
「a--b」などの場合、引っかからないようでした。

お礼日時:2008/05/28 14:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A