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.