Windows Bat 之For 循环
admin
2023-02-01 18:45:02
0

Windows Bat 之For 循环

1. For 循环基本用法。

1.1 格式

在cmd窗口中:

FOR %variable IN (set) DO command [command-parameters]

在Bat文件中:

FOR %%variable IN (set) DO command [command-parameters]

注意点:在cmd窗口中,for之后的形式变量I必须使用单百分号引用,即%i;而在批处理文件中,引用形式变量i必须使用双百分号,即%%i。
For语句的基本要素都有些什么:
1、for、in和do是for语句的关键字,它们三个缺一不可;
2、%%I是for语句中对形式变量的引用,就算它在do后的语句中没有参与语句的执行,也是必须出现的;
3、in之后,do之前的括号不能省略;
4、set 表示字符串或变量,command表示字符串、变量或命令语句;

1.2 查看Windows 帮助文档

使用 for /? 既可以查看
Windows Bat 之For 循环

1.3 实用举例

1.3.1 列出当前路径下的所有txt 文件。

for %%i in (??.txt) do echo "%%i"

1.3.2 文本解析显 for /f 用法。
1)将命令行的值赋值给变量。

for /f %i in ('wmic ComputerSystem get Manufacturer ^|find /v "Manu" ^| findstr .') do (set type=%i)

Windows Bat 之For 循环

2)使用 "delims=" 指定分隔符,/f 默认是以空格或者Table 键作为分隔符。

for /f  "delims=," %i in ('wmic ComputerSystem get Manufacturer ^|find /v "Manu" ^| findstr .') do (set type=%i)

Windows Bat 之For 循环

ps: IF 语句的结构

for /f %%i in ('wmic ComputerSystem get Manufacturer ^|find /v "Manu" ^| findstr .') do (set type=%%i)
if %type%=="HP" (
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server"  /v fDenyTSConnections /t REG_DWORD /d 0 /f
:: 开启远程桌面服务
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp" /v PortNumber /t REG_DWORD /d 0x0000b239 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 0x0000b239 /f
) else if %type%=="Dell" (
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server"  /v fDenyTSConnections /t REG_DWORD /d 0 /f
:: 开启远程桌面服务
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp" /v PortNumber /t REG_DWORD /d 0x0000b275 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 0x0000b275 /f
)else (
echo 您的服务器类型与指定的端口号不匹配
)

相关内容

热门资讯

拳王夫妇亏掉两亿,谁拖累了谁 作者 | 贺一 编辑 | 吴擎一门失败的生意,足以把一个世界冠军打回起点。最近,前奥运冠军、世界拳王...
中国驻以色列使馆提醒在以中国公... 当前,中东局势持续紧张,冲突延宕。有媒体报道称,以色列已将战备状态提升至最高水平。中国驻以色列使馆再...
论文疑遭蒋方舟抄袭,台湾原作者... 澎湃新闻记者 杨喆蒋方舟学术不端一事近日备受关注,原作者如何看待?7月13日,蒋方舟被中国人民大学认...
女子拦车加塞还向后车吐口水挑衅... 7月22日,重庆,一段“女子用肉身拦车加塞、向后车吐口水的”视频引发关注。重庆交警部门回应:目前事情...
台风“红霞”要来了,最新路径预... 23日,我国正式进入大暑节气,随着副热带高压逐渐加强西伸,江南、华南等地的强降雨将明显减弱,但华北、...
三连冠!宇通客车荣获新能源商用... 近日,2026 EC-PAC新能源商用车(客车)性能评价公益赛在重庆圆满收官。宇通新能源公交一举摘得...
透视上半年财政改革发展成效 新华社北京7月22日电 题:收支运行平稳 政策更加积极——透视上半年财政改革发展成效新华社记者申铖财...
伊朗称摧毁美军一套“萨德”、一... 新华社德黑兰7月23日电 伊朗伊斯兰革命卫队23日发布两份分别面向约旦和科威特民众的声明说,为回应美...
近40年来新低,日元迎来快速贬... 新华社东京7月23日电 国际观察|日元汇率缘何跌至近40年来新低新华社记者李诗萌 蓝建中近日,日元对...
稻城亚丁一游客疑因高反倒地抢救... 7月22日,四川稻城亚丁景区一名老年男性游客游玩时疑因高反抢救无效去世。7月23日,景区工作人员表示...