8

以下のコマンドラインファイルがあります。変数の空の値を確認する必要があります。コマンドライン引数を指定していません。

@echo off
@set PASSWORD=
@set PORT=9001
@set command=START
if %PASSWORD% NEQ () GOTO MyLabel

:MyLabel
@set command=%command% -p%PASSWORD%

@set command=%command% -i%PORT%
@echo %command%

()空の括弧 ( )、空の文字列 ( )と比較するなど、いくつかのオプションを試しまし""たが、何も機能しないようです。実行すると、次の出力が得られます。

() は現時点では予想外でした。

Windows 7 x32 を使用しています。誰でも助けてもらえますか?

4

2 に答える 2

10

IF DEFINED variablevariable をパーセント記号なしで使用します。

XP (32 ビット) および Win7 x64 でテスト済み:

SET PASSWORD=
IF DEFINED PASSWORD (echo PASSWORD = %PASSWORD%) ELSE (echo PASSWORD is empty or undefined)
IF DEFINED USERNAME (echo USERNAME = %USERNAME%) ELSE (echo USERNAME is empty or undefined)
于 2012-06-09T11:54:47.543 に答える
10

次のようにする必要があります。

if [%PASSWORD%] NEQ [] GOTO MyLabel

詳細については、ss64.comを参照してください。

于 2012-04-16T12:32:24.147 に答える