Windows Bat 之For 循環

Windows Bat 之For 循環

1. For 循環基本用法。

1.1 格式

在cmd窗口中:服務器

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

在Bat文件中:tcp

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

注意點:在cmd窗口中,for以後的形式變量I必須使用單百分號引用,即%i;而在批處理文件中,引用形式變量i必須使用雙百分號,即%%i。
For語句的基本要素都有些什麼:
一、for、in和do是for語句的關鍵字,它們三個缺一不可;
二、%%I是for語句中對形式變量的引用,就算它在do後的語句中沒有參與語句的執行,也是必須出現的;
三、in以後,do以前的括號不能省略;
四、set 表示字符串或變量,command表示字符串、變量或命令語句;ide

1.2 查看Windows 幫助文檔

使用 for /? 既能夠查看
Windows Bat 之For 循環命令行

1.3 實用舉例

1.3.1 列出當前路徑下的全部txt 文件。 3d

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

1.3.2 文本解析顯 for /f 用法。
1)將命令行的值賦值給變量。code

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

Windows Bat 之For 循環

2)使用 "delims=" 指定分隔符,/f 默認是以空格或者Table 鍵做爲分隔符。blog

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 您的服務器類型與指定的端口號不匹配
)
相關文章
相關標籤/搜索