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?
@DavidPostill Yaptım. Ancak komut bir hata döndürdüğünde,
—
Gustavo Alves
for
içerik yürütülmedi.
Hmm. Önce komutu yürütün
—
DavidPostill
for
ve bir dosyaya çıktı. Ardından hata seviyesini kontrol edin. Ardından, çıktı dosyasını kullanarak for
Komut.
Hata seviyesi bir alt kabukta ayarlanmaktadır, bu yüzden ekleyerek oraya eko yapmanız gerekir.
—
AFH
^|^| echo %errorlevel%
önce ') do (
.
@ AFH Bu benim için çalışmıyor. Öyle görünüyor
—
Gustavo Alves
^|^| echo %errorlevel%
asla idam edilmez. Komutu döngünün dışına koydum ve döndürdüm errorlevel
1.
set
Ayrıca hata seviyesini de ayarlıyor. Daha önce kontrol etmeyi deneyinset