Toplu komut dosyasında bir for komutunun hata düzeyi


0

Bir for döngüsü içinde yürütülen isql komutunun hata düzeyini almaya çalışıyorum. Ama ben her zaman 0 alırım.

for /f "skip=4" %%i in ('echo SELECT COALESCE^(MAX^(ID^)^,0^) FROM LOG^; ^| %isql% -B -Q -U SYSDBA -P %password% %host%:%db_path%') do (
    set maxId=%%i
    @goto :break
)
echo %errorlevel%
:break

Bunu nasıl yapabilirim?


merak ediyorum eğer set Ayrıca hata seviyesini de ayarlıyor. Daha önce kontrol etmeyi deneyin set
— DavidPostill

@DavidPostill Yaptım. Ancak komut bir hata döndürdüğünde, for içerik yürütülmedi.
— Gustavo Alves

Hmm. Önce komutu yürütün for ve bir dosyaya çıktı. Ardından hata seviyesini kontrol edin. Ardından, çıktı dosyasını kullanarak for Komut.
— DavidPostill

Hata seviyesi bir alt kabukta ayarlanmaktadır, bu yüzden ekleyerek oraya eko yapmanız gerekir. ^|^| echo %errorlevel% önce ') do (.
— AFH

@ AFH Bu benim için çalışmıyor. Öyle görünüyor ^|^| echo %errorlevel% asla idam edilmez. Komutu döngünün dışına koydum ve döndürdüm errorlevel 1.
— Gustavo Alves
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.