次のスクリプトで問題が発生しました。このスクリプトをログイン スクリプトの一部として使用して、ソフトウェアがインストールされているかどうかを確認し、インストールされていない場合はインストールします。
:STEP1
for /f "delims= " %%a in (C:\software-dist.txt) do (
if "%%a"=="Softwarename1" goto STEP2
)
\\server\share\software1.exe
echo Softwarename1 >> C:\software-dist.txt
:STEP2
for /f "delims= " %%a in (C:\software-dist.txt) do (
if "%%a"=="Software name 2" goto END
)
\\server\share\software2.exe /Q
echo Software name 2 >> C:\software-dist.txt
:END
コードは STEP1 で問題なく動作します。ここでは、ソフトウェアの名前は「Softwarename1」という単語です。ただし、STEP2 のコードは機能しません。ここでは、ソフトウェアの名前が 3 つの単語 " Software name 2 " (各単語間のスペース) として記述されています。スクリプトが実行されるたびに、c:\software-dist.txtが「 Software name 2 」の別の行で更新されます。
私が間違っていることはありますか?