テキストファイルをコピーする場合、ネットワークドライブが存在するかどうかを確認します。存在しない場合は、エコーします。
私の問題は、ifを実行するだけでなく、常にelseを実行することです
一致する角かっこをダブルチェックして構文を検索しましたが、
do
と関係があるのか疑問に思っています
以下のコードをご覧ください
@echo off
set LOGFILE=inv.filie.log
call :LOG >> %LOGFILE%
exit /B
:LOG
E:
echo.
echo *** Date: %DATE:/=-% Time:%TIME::=-% ***
echo.
CD "E:\Ftp\Clients\OUT_TEST\INV\"
echo.
echo.
echo Moving Files to Test:
For %%G in (*.txt) do (
if exist z:\ (
COPY /Y "%%G" "Z:\Outgoing\"
MOVE /Y "%%G" "E:\Ftp\Clients\OUT_TEST\INV\Archive\"
)
else (
echo Direcotry Z:\ for test is offline
)
)
echo.
echo.
echo *** Task complete ***
そして、inv.file.logの出力は
*** Date: 2018-05-25 Time: 8-11-53.89 ***
Moving Files to Test AS2:
1 file(s) copied.
1 file(s) moved.
Direcotry Z:\ for test is offline
*** Task complete ***
上記でわかるように、それは常に行
Direcotry Z:\ for test is offline
をエコーします
どんな助けも感謝します
回答 1 件
関連記事
- クロージャを返す関数の正しい構文
- モーメントライブラリを使用して、分を日、時間、分に変換する正しい構文は何ですか?単数形と複数形のフォーマットもありますか?
- スコープ付きsummaryおよびn()の正しい構文
- Python MySQLアップデートの正しい構文?
- Verilogの複数の変数に1つの値を割り当てるための正しい構文は何ですか?
- Google Contacts APIで使用されるGoogle Data構文の正しいContent-Typeは何ですか?
- 新規:正しいSpyder構文
- Vue jsでaxiosメソッドをインポートするための正しい構文
- PHP構文。 onclickイベントでこのコードを正しく取得するにはどうすればよいですか?
これは有効な構文ではありません。括弧と
else
同じ行になければなりません。次のスクリプト:
生成します:
なぜなら、最初の閉じ括弧が終わり
if
の ステートメント。よく分かりませんなぜ
2>nul:
でスクリプトを呼び出さない限り、エラーは表示されません。 -これによりエラーが破棄され、次のように表示されます。いずれにせよ、正しい これを行う方法は、
if
をフォーマットすることです ステートメントを正しく。あなたの場合、それは次のようになります:あなたは出来るたぶん また、それを改善するじゃない
z:
の存在の確認 すべての単一ファイルに対して。あなたはこれがよりうまくいくことがわかるかもしれません:私はそれを言っていないことに注意してくださいは あなたは私よりも多くのコンテキストにアクセスできるため、より良いです。これは、全体像に基づいて下すべき決定です。