ทดสอบว่ามีโฟลเดอร์ที่ใช้ร่วมกันกับการหมดเวลาในแบตช์ไฟล์


0

ฉันใช้คำสั่งต่อไปนี้เพื่อทดสอบว่ามีโฟลเดอร์เครือข่ายที่ใช้ร่วมกันอยู่หรือไม่: if exist \\192.168.1.2\SharedFolder\ echo EXISTS อย่างไรก็ตามเมื่อมันไม่มีตัวตนมันใช้เวลาประมาณ 15 วินาทีเพื่อให้มันคิดออก มีวิธีที่ฉันสามารถเพิ่มการหมดเวลาในคำสั่งนั้นได้หรือไม่? ฉันแค่อยากลองสามวินาทีเท่านั้น


ไม่มันเป็นการหมดเวลาของระบบปฏิบัติการ ระบบปฏิบัติการพยายามตรวจสอบทรัพยากรแบบซิงโครนัสดังนั้นการดำเนินการแบตช์จะหยุดลง และไม่มีวิธีการตั้งค่าการหมดเวลาสำหรับคำสั่ง IF EXIST
Akina

คำตอบ:


1

ฉันคิดว่าคุณต้องตรวจสอบก่อนว่าพีซีระยะไกลยังมีชีวิตอยู่แล้วลองเชื่อมต่อกับมัน

@echo off

REM Try for 3 seconds if remote PC is alive
ping 192.168.1.2 -n 2 -w 400 2>&1 >nul

IF %ERRORLEVEL% NEQ 0 goto OnExit
goto Success

:OnExit
echo 192.168.1.2 is down
goto End

:Success

echo Remote computer is alive. Checking if share is available...
IF EXIST \\192.168.1.2\SharedFolder\ (
    echo SharedFolder is available.
) ELSE (
    echo SharedFolder is unavailable.
)

:End
REM pause

โปรแกรมที่ฉันใช้อยู่จะเป็นตัวกำหนดคอมพิวเตอร์ที่ใช้งานจริงบนเครือข่าย มีเพียงหนึ่งในนั้นเท่านั้นที่มีโฟลเดอร์แชร์
Mark Deven

@MarkDodsons จุดประสงค์คือการตรวจสอบว่าพีซีระยะไกลยังมีชีวิตอยู่ก่อนที่จะลองใช้งานการแชร์ระยะไกลหรือไม่ ไม่มีกลไกใด ๆ ในการควบคุมการหมดเวลา if exist \\ip.ip.ip.ip\Share คำสั่งเนื่องจากเป็นการหมดเวลาของระบบปฏิบัติการ ในตัวอย่างของฉันฉันตรวจสอบพีซีระยะไกลด้วย ping ยูทิลิตี้ที่ฉันสามารถลดการหมดเวลาด้วยตัวเลือก -w ตามที่คุณต้องการและหลังจากตรวจสอบการแชร์ระยะไกลแล้ว
Alex

ตกลง. ฉันเห็นสิ่งที่คุณหมายถึงขอบคุณ
Mark Deven

น่าเสียดายที่นี่ยังไม่สามารถแก้ปัญหาของฉันได้ อุปกรณ์เช่นเครื่องพิมพ์หรือ Chromecasts ตอบกลับด้วย ping แต่ใช้ตลอดไปกับสิ่งที่มีอยู่ถ้า มีเครื่องมือของบุคคลที่สามที่สามารถช่วยได้หรือไม่
Mark Deven

เครื่องพิมพ์และ Chromecast ส่วนใหญ่ไม่มีความสามารถในการแบ่งปันทรัพยากรผ่านเครือข่าย windows คุณสามารถใช้เครื่องสแกนเครือข่ายเช่น nmap หรือ ขั้นสูง IP-สแกนเนอร์ เพื่อให้แน่ใจว่าอุปกรณ์เหล่านั้นมีความสามารถในการแบ่งปันหน้าต่าง
Alex
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.