0
私がしたいのは、.NA
を含むサブフォルダをディレクトリで検索することです。限り、何もしない.NA
のフォルダがあるとしてバッチファイル - テキストを含むフォルダを検索し、見つからない場合は続行します。
Example Folder1 Folder2 Folder3.NA
。 .NA
のフォルダがなくなると、別のフォルダにあるファイルを削除します。
このコードが実行されるたびに、ファイルの削除を実行するために、:NotFound
セクションにアクセスすることはありません。
誰かが私が考えているものとは異なる解決策を持っているのかもしれません。ここで
は私のコードである - これは起動時に実行されます:
@echo off
setlocal enabledelayedexpansion
Set Source=C:\Temp\Users
FOR /d %%a in ("%Source%\*.NA") DO (
IF NOT !ErrorLevel! == 0 GOTO NotFound
IF !ErrorLevel! == 0 GOTO Found REM - There is still a user folder with .NA
)
Goto EOF
:Found
@echo There is a folder with .NA Do Nothing
Goto EOF
:NotFound
@echo Simulate delete start-up file
Goto EOF
:EOF
PAUSE
(私は 'for'はそれに触れません)の' ErrorLevel'をチェックするものは何もありません。あなたの 'for/D'ループの代わりに' 'FLAG = found ''をセットするだけで ''%s' 'の '' FLAG = "&後で...フォルダ*が '.NA' *で終わっているかどうかをチェックしたいのですが? – aschipfl
ワイルドカード付きの/ dは、見つかった場合に一致するフォルダを返しますので、doの後ろにあるgoto:を入れてください。 forからのエラーレベルはありません。見つからない場合は、次のステートメントでフローが続行されます。不必要なカッコに続いて、EOFを削除します。 – LotPings
良いアイデア、@LotPings、気づいていたはずです... 'goto:EOF'を' goto:NotFound'で置き換える必要があります。 – aschipfl