2

最初に ClearCase cleartool コマンドを含む別のバッチ ファイルを作成し、次にそれを実行するバッチ ファイルがあります。

ECHO cleartool lsactivity -long "%ACTIVITY%"^>"%OUTPUTFILE%">FILETORUN.bat
CALL FILETORUN.bat

バッチを実行FILETORUN.batすると、正しい形式で生成されますが、CALL完全に無視されます。

の後にログ ファイルにECHO出力するCALLと、スクリプトがそれをスキップしていることがわかります。

どうなり得るか?

削除してみCALLましたが変わりません。

編集:解決策

ご意見ありがとうございます。問題が見つかりました。スクリプトのバッチへの書き込みとバッチ呼び出しの前に、ファイルから変数に情報を読み取るコマンドがありました。

SET /p FILETODELETE=<rmname_%CLEARCASE_USER%.tmp

最初の行だけを読み取ります。何らかの理由で、これにより一時バッチ ファイルとの競合が発生しましたが、その理由はわかりません。ファイルから最初の行を読み取るために別のソリューションを使用しましたが、競合はもう発生しません。

(set FILETODELETE=)
for /f "delims=" %%q in (rmname_%CLEARCASE_USER%.tmp) do if not defined FILETODELETE set FILETODELETE=%%q

誰かが光を当てることができれば、それは素晴らしいことです!

4

1 に答える 1