Chciałbym ustawić zmienną na podstawie liczby wierszy w pliku, które zawierają ciąg znaków.Ustaw zmienną na wynik "Znajdź" w pliku wsadowym
Coś jak:
set isComplete = 0
%isComplete% = find /c /i "Transfer Complete" "C:\ftp.LOG"
IF %isComplete% > 0 ECHO "Success" ELSE ECHO "Failure"
Lub:
set isComplete = 0
find /c /i "Transfer Complete" "C:\ftp.LOG" | %isComplete%
IF %isComplete% > 0 ECHO "Success" ELSE ECHO "Failure"
Żadna z tych opcji nie działa, oczywiście.
Dzięki.
To jest wielki. Jednak powinienem był wspomnieć, że potrzebuję tego do pracy ze ścieżką, która ma przestrzeń. Cytaty nie pomagają. Ugh. Więc ... dla/f "tokeny = 3" %% f in ("znajdź/c/i" Przesyłanie zakończone "" C: \ ścieżka testowa \ ftp.LOG "') ustaw wartość isComplete = %% f ustawia isComplete na "PATH \ FTP.LOG:", gdzie błąd, jak sądzę, jest spowodowany przez spację. – MattH
Należy użyć opcji "usebackq" polecenia for, aby można było wstawić cudzysłowy wokół ścieżki: for/f "usebackq tokeny = 3" %% f in ('find/c/i" Transfer zakończony "" C : \ ścieżka testowa \ ftp.log "') ustaw wartość isComplete %% f –