私の理解によると、以下のコマンド (デバッグ行を追加 - インデント) は、エコーの出力をファイルにリダイレクトする必要があります。
ただし、if exist %test0%
常にエコーの出力でファイルを埋める (存在しない場合は作成する) ようです。
誰が何が悪いのか知っていますか?
@echo off
type test.bat
set test0="e:\documents and settings\administrator\desktop\test.log"
echo.&echo.
if exist %test0% (echo !!Exists!!) else (echo !!Doesn't Exist!!)
(if exist %test0% echo.&echo.&echo -------------------------------------------------&echo.&echo.)>>%test0%
そして、ファイルが作成されます(!)
編集:これは単純化された例であり、残念ながらMSaltersの回答は完全なコマンドを解決するのに役立ちません(そうなると思っていました)。完全な 1 行の if ステートメントは次のとおりです。
if exist %test0% (echo.&echo.&echo -------------------------------------------------&echo.&echo.) else (set /p .=<nul)>>%test0%&set errorlevel=0||set errorlevel=1
ファイルへの一致した出力の条件をどのように設定if
し (ファイルへの参照が 1 つだけであることが望ましいか、つまり、各if
条件で 1 つではなく)、ファイルの ance にerrorlevel
基づいてセットを設定するにはどうすればよいでしょうか?exist
実際の完全なコマンドの問題を手伝ってくれる人はいますか?