0
こんにちは、バッチファイルを使用してキューからメッセージをクリアしようとしています。私はファイルのキューのリストを持っています。バッチプログラムでファイルを読み込んでキューをクリアすることができました。ファイルにクリアする複数のキューが含まれている場合、それらを配列に格納できますが、配列要素をMQコマンドに渡すことは機能しません。お知らせ下さい。新しいバッチスクリプトに、その方法バッチファイルのループ
コード:
for /f %%G in (file.txt) do (
set /a count+=1
set fileName[!count!]=%%~G
call set n=!count!
)
rem echo !fileName[%count%]!
for /L %%i in (1,1,%n%) do (
echo !fileName[%%i]!
echo display qlocal(!fileName[%%i]!) | runmqsc %1
)
私はコード内のSETLOCAL enabledelayedexpansionのENABLEEXTENSIONSを持ち、エコーの文が正常に動作する上記の作品で、それは、配列のすべての内容が表示されています。それはqlocalを表示するために渡されていません。
投稿のフォーマットが適切でない場合は、謝罪してください。
あなたは 'Call'を使う必要はなく、' Set "n =!count!" 'だけでいいです。つまり、時間を無駄にする必要はなく、 '(1,1、%count%)'を直接使用することができます。補足として、特に 'Call'sと' For's_を使うときは、入力引数を失うことはありません(この場合は '%1')、注意してください。それらの引数がスクリプトの早い段階で使用されていない場合は、コードの早い段階で変数に引数を割り当てる方が安全です。 – Compo