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范围的文本文件是不同的。 –