ファイル名に基づいて異なるアクションをとるバッチファイルにIF文を入れる必要があります。私はその部分を処理しているので、アクションは重要ではありません。私が理解できないことは、IF文をどのように動作させるかです。私はFileNameを部分文字列にしようとしましたが、それを動作させることはできません。要するに、FileNameに "Orders"がある場合、もう一つは "Accessories"という名前が付いている場合は別のものを実行したいと思います。返信マグーを事前にIfバッチファイル内の文
IF "%1:~0,18%" == MyFileName1_Orders (
sqlcmd MyCommand)
IF "%1:~0,23%" == MyFileName1_Accessories (
sqlcmd MyCommand)
おかげで
感謝。私はあなたが示したようにしましたが、残念ながらそれはまだ動作しません。このバッチファイルでは、私が持っている唯一のものは次の3行です:set "name =%1"で始まります。まだ運がありません。
ファイルに「substring」しようとしている単語が「含まれています」が表示されていましたが、sqlcmd行を起動できません。私はこの例に従った。私はそれが働いていることを知っているので、正しいものをエコーアウトすることができますが、(sqlcmd ...)の部分を起動しないようです。 sqlcmdの部分がバッチファイル内の唯一のものだった場合、毎回完璧に動作します。バッチファイル:部分文字列が文字列内にあるかどうかを調べる(ファイルではない)
Paul私はあなたの提案を試みたが、私は同じ結果を得た。私のsqlcmdは起動しません。そして、私が言ったように、このsqlcmdは何年もうまく働いていて、batファイル内の唯一のものならば動作し続けます。私はIFを追加するとすぐに、それは動作を停止します。
条件の両側は、両方が二重引用符で囲まれている場合にのみ一致します。さらに、変数はアルファベット文字でなければなりません。 – Compo