0
我有這行代碼檢查計算機的IP地址,如果它匹配運行特定的腳本。如何將「IF」添加到下面的批處理腳本中?
原創劇本:
IPConfig|FindStr/IRC:"IPv4 .*: 10.0.50.">Nul 2>&1 && (Call sydprtcheck.bat) || (
IPConfig|FindStr/IRC:"IPv4 .*: 10.0.51.">Nul 2>&1 && Call sydprtcheck.bat)
我需要添加這行代碼:
if not exist "%USERPROFILE%\%username%10.txt" call sydprtcheck.bat
什麼做的正確方法?
IPConfig|FindStr/IRC:"IPv4 .*: 10.0.50.">Nul 2>&1 && (if not exist "%USERPROFILE%\%username%10.txt" call sydprtcheck.bat || (
IPConfig|FindStr/IRC:"IPv4 .*: 10.0.51.">Nul 2>&1 && if not exist "%USERPROFILE%\%username%10.txt" call sydprtcheck.bat)
腳本應該做到以下幾點:
1-檢查計算機的IP地址,如果IP範圍內,則對特定文本文件
2 - 如果文本檢查文件不存在,那麼它調用另一個腳本
3-如果文本文件存在,那麼退出批
4-如果IP地址不在範圍內,則進入下一行來檢查我已經添加代碼到我的批處理腳本這裏是它看起來像一個不同的IP地址範圍
:
for %%a in (50,51) do if not exist "%USERPROFILE%\%username%10.txt" (
IPConfig|FindStr/IRC:"IPv4 .*: 10.0.%%a.">Nul 2>&1 && call printmap1.bat
) || (
goto Melprinters)
echo.
:Melprinters
for %%a in (1,5) do if not exist "%USERPROFILE%\%username%11.txt" (
IPConfig|FindStr/IRC:"IPv4 .*: 10.0.%%a.">Nul 2>&1 && call printmap2.bat
) || (
goto Wynprinters)
echo.
:Wynprinters
for %%a in (60) do if not exist "%USERPROFILE%\%username%12.txt" (
IPConfig|FindStr/IRC:"IPv4 .*: 10.0.%%a.">Nul 2>&1 && call printmap3.bat
) || (
goto Adlprinters)
echo.
:adlprinters
for %%a in (100) do if not exist "%USERPROFILE%\%username%13.txt" (
IPConfig|FindStr/IRC:"IPv4 .*: 10.0.%%a.">Nul 2>&1 && call printmap4.bat
) || (
goto settime)
echo.
:settime
echo ------------------------------------------------------------------
有一個問題,雖然。檢查50,51個IP範圍的部分工作則腳本忽略檢查IP範圍並僅檢查文本文件是否存在。
我做錯了什麼?
太棒了!它的工作原理,我如何添加另一行代碼來調用不同的腳本。例如,如果IP地址是「10.0.100.xxx」呼叫sydprtcheck22.bat? –
感謝Magoo,對於.100 IP範圍的文本文件是不同的。 –