Tes apakah folder bersama ada dengan batas waktu dalam file batch

0

Saya telah menggunakan perintah berikut untuk menguji apakah folder jaringan bersama ada: if exist \\192.168.1.2\SharedFolder\ echo EXISTS namun ketika tidak ada, dibutuhkan sekitar 15 detik untuk mencari tahu. Apakah ada cara saya bisa menambahkan batas waktu untuk perintah itu? Saya benar-benar hanya ingin mencoba selama tiga detik.

Mark Deven
sumber
Tidak, ini batas waktu OS. OS mencoba memeriksa sumber daya secara sinkron, sehingga eksekusi batch dibekukan. Dan tidak ada cara untuk mengatur batas waktu untuk perintah JIKA ADA.
Akina

Jawaban:

1

Saya pikir Anda perlu memeriksa terlebih dahulu jika PC jarak jauh hidup kemudian mencoba untuk terhubung.

@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
Alex
sumber
Program yang saya gunakan sudah menentukan komputer hidup di jaringan. Hanya satu dari mereka yang memiliki folder bersama.
Mark Deven
@MarkDodsons Intinya adalah untuk memeriksa apakah PC jarak jauh hidup sebelum mencoba ketersediaan berbagi jarak jauh. Tidak ada mekanisme untuk mengontrol batas waktu if exist \\ip.ip.ip.ip\Share pernyataan karena merupakan batas waktu sistem operasi. Dalam contoh saya, saya memeriksa PC jarak jauh dengan ping utilitas di mana saya dapat mengurangi batas waktu dengan opsi -w seperti yang Anda inginkan dan hanya setelah itu memeriksa untuk berbagi jarak jauh.
Alex
Baik. Saya mengerti maksud Anda, terima kasih.
Mark Deven
Sayangnya ini masih belum menyelesaikan masalah saya. Perangkat seperti printer atau chromecasts misalnya, membalas dengan ping tetapi mengambil selamanya dengan hal yang ada. Apakah ada alat pihak ketiga yang bisa membantu?
Mark Deven
Sebagian besar printer dan chromecast tidak memiliki kemampuan untuk berbagi sumber daya melalui jaringan windows. Anda dapat menggunakan pemindai jaringan seperti nmap atau advanced-ip-scanner untuk memastikan perangkat tersebut memiliki kemampuan berbagi windows.
Alex