データベースからのフィールドの値をカンマで区切ったリストを取得します。このリストは空白になることがあります。リストが空白であるかどうかを確認してから、何かをする必要があります。リストが空白でない場合は、別の操作を行います。カンマで区切られたリストが空白(空白)かどうかをチェックするときのエラー
問題は、リストが空白かどうかを確認するときにエラーが発生していることです。ここにコードがあります。私は、コードの始めに値がデータベースから来ていることをシミュレートしました。
これまでに試したことは次のとおりです。VendorStores
のリストが空白(空白)の場合は、1つの操作を行います。それ以外は別の行動を取る。 VendorStores
に複数の値(コンマ区切り)があり、それが空白と比較されているときにエラーが発生しました。だから私は値を数え、そのカウントを使って決定を下ろそうとしています。しかし、私は同じ問題を抱えています。 VendorStores
が空白の場合、for
ループは2つの値、つまり1)",="
2)""
と考えています。なぜこれが当てはまるのか分かりません。このコマンドライン上echo on
の行を挿入してと@echo off
それができるとの行をの括弧を閉じた後
for %%a in ("%vendorstores:,=" "%") do (
:
:: Intention of the script is as follows:
:: If VendorStores list is blank, take one action
:: If VendorStores list has values, take another action
@echo off
:: Set values for VendorStores
:: set vendorstores=123,234,345
:: Set VendorStores to blank
set vendorstores=
echo list = "%vendorstores%"
:: Remove any blank spaces from VendorStores
set vendorstores=%vendorstores: =%
set /a c=0
echo c=%c%
SETLOCAL EnableDelayedExpansion
for %%a in ("%vendorstores:,=" "%") do (
if [%%a] NEQ [] (
set /a c=c + 1
echo VendorStore is %%a
)
echo c=!c!
)
echo c=!c!
if [!c!] EQU [0] (
echo c is equal to Zero
) else (
echo c is greater than Zero
)
echo c=!c!
endlocal
で、タグを追加してください:ここでは – Sergii
バッチファイルです。 – TJM
バッチファイル - プログラミング言語またはスクリプトではありません。タグを指定すると、専門分野に応じて質問をフィルタリングする方が便利です。 – Sergii