คำสั่งต่อไปนี้ (ใช้ได้กับการเชื่อมต่อ PPPoE) อยู่ในไฟล์. bat
Rasdial "connection name" "user name" "password"
ฉันจะทำให้มันทำงานอีกครั้งโดยอัตโนมัติได้อย่างไรถ้ามันล้มเหลว (เช่นการเชื่อมต่อยังไม่พร้อมใช้งาน)
คำสั่งต่อไปนี้ (ใช้ได้กับการเชื่อมต่อ PPPoE) อยู่ในไฟล์. bat
Rasdial "connection name" "user name" "password"
ฉันจะทำให้มันทำงานอีกครั้งโดยอัตโนมัติได้อย่างไรถ้ามันล้มเหลว (เช่นการเชื่อมต่อยังไม่พร้อมใช้งาน)
คำตอบ:
สร้างอีกครั้ง) แบตช์ (i.n .: ไฟล์แบทช์ไฟล์แบทช์) ที่มี:
:Dial
Rasdial Connection_Name Username Password
if %errorlevel% GTR 0 goto Dial
จากนั้นโทร Start "" BatchFile.bat
จากไฟล์แบตช์ดั้งเดิมของคุณ
เมื่อออกจาก RASDial ตามปกติมันจะออกด้วย errorlevel 0
คำสั่ง If ตรวจสอบเพื่อดูว่าระดับข้อผิดพลาดที่ส่งคืนโดยโปรแกรมก่อนหน้า (RASDial ในกรณีนี้) มากกว่า 0 และถ้าเป็นจะถือว่ามีข้อผิดพลาดและกระโดดกลับเพื่อลองหมุนอีกครั้ง มิฉะนั้นจะดำเนินการต่อไป
%errorlevel% gtr 0
หรือ errorlevel 1
. สิ่งนี้อาจเป็นประโยชน์ถ้า OP ต้องการทดสอบข้อผิดพลาด / รหัสทางออกเฉพาะ: msdn.microsoft.com/en-us/library/windows/desktop/...
GTR
ไม่ทำงาน แต่ gtr
ทำ ") คำสั่ง Windows เหล่านั้นไม่คำนึงถึงขนาดตัวพิมพ์ลองอีกครั้งเพราะปัญหาจะเป็นแบบอื่นนอกเหนือจากนั้นตัวอย่างเช่นฉันใช้ dir *.axe & if %errorlevel% gtr 0 echo.1 & if %errorlevel% GTR 0 echo.1
และ dir *.* & if %errorlevel% gtr 0 echo.1 & if %errorlevel% GTR 0 echo.1
กับ GTR
และ gtr
และทำงานในลักษณะเดียวกัน แต่ทั้งคู่ดูเหมือนจะแสดงความล่าช้าในการแสดง 1
หลังจากเปลี่ยนบรรทัดคำสั่ง
ฉันเพิ่งพบว่าไฟล์. bat ดั้งเดิมของฉันสามารถลบได้และฉันสามารถใช้ไฟล์. bat เดียวที่มีคำสั่งต่อไปนี้เพื่อทำงานทั้งหมดรวมถึงการโทรซ้ำเมื่อล้มเหลว
: Dial
Rasdial "ชื่อการเชื่อมต่อ" "ชื่อผู้ใช้" "รหัสผ่าน"
หาก errorlevel 1 goto DIAL