我嘗試下面的代碼:批處理文件,如果存在超時
if exist "\\%1\c$\users\Public\" (
set sysos=Windows 7
) else (
set sysos=Windows XP
)
但是,當他們找不到\\computername\c$
時間超過20秒超時。我如何在代碼中創建更短的超時時間?
我嘗試下面的代碼:批處理文件,如果存在超時
if exist "\\%1\c$\users\Public\" (
set sysos=Windows 7
) else (
set sysos=Windows XP
)
但是,當他們找不到\\computername\c$
時間超過20秒超時。我如何在代碼中創建更短的超時時間?
看看是否解決您的問題:
set "sysos="
ping -n 1 %1 >nul && if exist "\\%1\c$\users\Public\" (
set sysos=Windows 7
) else (
set sysos=Windows XP
)
if not defined sysos echo %1 server is offline
謝謝你的回答。我會嘗試。它保存了很多時間。 – Tom
可能與WMIC
命令它會工作更快?
@echo off
setlocal
for /f delims^= %%a in ('wmic /node:%~1 os get version /format:Wmiclivalueformat') do (
for /f %%O in ("%%~a") do set "%%O"
)
set /a version=%version:.=%
if %version% LSS 620000 if %version% GEQ 610000(
set "sysos=Windows 7"
)
if %version% LEQ 520000 if %version% GEQ 510000(
set "sysos=Windows XP"
)
echo %sysos%
endlocal
如果遠程計算機存在不檢查...
謝謝你的回答。我會嘗試。 – Tom
你想有一個超時或您有不必要的超時? – npocmaka
我試圖根據我想你想問的問題來澄清問題。如果我猜錯了,請編輯這個問題以更好地突出你想要完成的事情。 –