批处理文件 i 请问批处理文件(batch)中的if 后面有时候会有i,这个i是什么意思?

批处理文件 i 请问批处理文件(batch)中的if 后面有时候会有i,这个i是什么意思?,第1张

...这个你可以通过CMD里面看啊,在if后面加一个/?就可以看了

在if后面添加/i 意思是做比较,将string1和string2做一个比较

这个是if帮助里面的

如果命令扩展名被启用,IF 会如下改变:

IF [/I] string1 compare-op string2 command

IF CMDEXTVERSION number command

IF DEFINED variable command

其中,比较运算符可以是:

EQU - 等于

NEQ - 不等于

LSS - 小于

LEQ - 小于或等于

GTR - 大于

GEQ - 大于或等于

及 /I 开关;如果该开关被指定,则说明要进行的字符串比较不分

大小写。/I 开关可以用于 IF 的 string1==string2 的形式上。这些

比较都是通用的;原因是,如果 string1 和 string2 都是由数字

组成的,字符串会被转换成数字,进行数字比较。

不清楚你的实际文件/情况,仅以问题中的样例/说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI

@echo off

rem 添加一个额外网段的ip但不改变/保留最后一段的ip数字

set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4

title %#% +%$%%$%/%@% %z%

set "NetConnectionID="

set "MACAddress="

set "IPAddress="

for /f "delims=" %%a in ('wmic nic where "NetEnabled=TRUE and PhysicalAdapter=TRUE" get NetConnectionID^,MACAddress /value^|find "="') do set %%a

if not defined NetConnectionID (echoFailed to get NetConnectionID&pause&exit)

for /f "delims=" %%a in ('wmic nicconfig where "MACAddress='%MACAddress%'" get IPAddress^,DHCPEnabled /value^|find "="') do set %%a

if not defined IPAddress (echoFailed to get IPAddress&pause&exit)

if /i "%DHCPEnabled%" equ "TRUE" (echoDHCP is Enabled&pause&exit)

set IPAddress=%IPAddress:{=}%

set IPAddress=%IPAddress:}=%

set IPAddress=%IPAddress:"=%

for /f "delims=," %%a in ("%IPAddress%") do (

set oldip=%%a

for /f "tokens=1-4 delims=." %%b in ("%%a") do (

set #1=%%b

set #2=%%c

set #3=%%d

set #4=%%e

)

)

set newip=192.168.20.%#4%

set newipsubnet=255.255.255.0

echonetconnection=%NetConnectionID%

echooldip=%oldip%

echomac=%MACAddress%

echo--------------------------

echonewip=%newip%

echonewipsubnet=%newipsubnet%

netsh interface ip add address "%NetConnectionID%" %newip% %newipsubnet%

echo%#% +%$%%$%/%@% %z%

pause

exit

参考方法如下:

1、在桌面鼠标依次右键——>新建——>文本文档;

2、在记事本中输入命令:

@echo off echo 正在清除系统垃圾文件,请稍等...... del /f /s /q %systemdrive%\*.tmp del /f /s /q %systemdrive%\*._mp del /f /s /q %systemdrive%\*.log del /f /s /q %systemdrive%\*.gid del /f /s /q %systemdrive%\*.chk del /f /s /q %systemdrive%\*.old del /f /s /q %systemdrive%\recycled\*.* del /f /s /q %windir%\*.bak del /f /s /q %windir%\prefetch\*.* rd /s /q %windir%\temp &md %windir%\temp del /f /q %userprofile%\cookies\*.* del /f /q %userprofile%\recent\*.* del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*" del /f /s /q "%userprofile%\Local Settings\Temp\*.*" del /f /s /q "%userprofile%\recent\*.*" echo 清除系统垃圾完成! echo. &pause

3、依次点击文件——>另存为;

4、将文件扩展名改为.bat,然后点击确定保存即可,这样一个简单批处理文件创建完成。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7955948.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存