Проверьте, существует ли общая папка с таймаутом в командном файле

378
Mark Deven

Я использовал следующую команду, чтобы проверить, существует ли общая сетевая папка: if exist \\192.168.1.2\SharedFolder\ echo EXISTSоднако, когда она не существует, ей требуется около 15 секунд, чтобы понять это. Есть ли способ добавить время ожидания для этой команды? Я действительно хочу попробовать только три секунды.

0
Нет, это время ожидания ОС. ОС пытается синхронизировать ресурс синхронно, поэтому пакетное выполнение освобождается. И нет никакой возможности установить таймаут для команды IF EXIST. Akina 5 лет назад 0

1 ответ на вопрос

1
Alex

Я думаю, что вам нужно сначала проверить, если удаленный компьютер жив, а затем попытаться подключиться к нему.

@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 5 лет назад 0
@MarkDodsons Суть в том, чтобы проверить, жив ли удаленный ПК, перед тем, как пытаться получить доступ к удаленному общему ресурсу. Нет никакого механизма для контроля времени ожидания в операторе `if exist \\ ip.ip.ip.ip \ Share`, так как это время ожидания операционной системы. В моем примере я проверял удаленный ПК с помощью утилиты `ping`, где я могу уменьшить время ожидания с опцией` -w`, как вы хотите, и только после этого проверяю удаленный общий ресурс. Alex 5 лет назад 0
Хорошо. Я понимаю, что вы имеете в виду, спасибо. Mark Deven 5 лет назад 0
К сожалению, это все еще не решает мою проблему. Такие устройства, как, например, принтеры или chromecasts, отвечают с помощью ping, но всегда с тем, что существует. Есть ли сторонний инструмент, который может помочь? Mark Deven 5 лет назад 0
Большинство принтеров и Chromecasts не имеют возможности совместно использовать ресурсы по сети Windows. Вы можете использовать сетевые сканеры, такие как [nmap] (https://nmap.org/download.html) или [advanced-ip-scanner] (https://www.advanced-ip-scanner.com/), чтобы сделать уверен, что эти устройства имеют возможность совместного использования окон. Alex 5 лет назад 0
Рок, который может работать. Mark Deven 5 лет назад 0