如果计算机名称包含

Nic*_*ick 1 if-statement contains batch-file computer-name

我需要创建一个批处理文件,只有在计算机名称包含某些字符串时才会在Active Directory中移动计算机名称对象,例如:

If %computername% contains "LAP" 
( dsmove "CN=%computername%,CN=Computers,DC=domain,DC=local" -newparent"OU=**Laptops**,OU=Computers,OU=Company,DC=domain,DC=local" )

    If %computername% contains "DESK" 
        (dsmove "CN=%computername%,CN=Computers,DC=domain,DC=local" -newparent "OU=**Desktops**,OU=Computers,OU=Company,DC=domain,DC=local" )
Run Code Online (Sandbox Code Playgroud)

请问正确的命令是什么?

npo*_*aka 6

set check_computername=%computername:LAP=%
if "%check_computername%" EQU "%computername%" (
  echo computer name contains "LAP"
) else (
  echo computer name does not contain "LAP"
)
Run Code Online (Sandbox Code Playgroud)

你可以把你的东西放入ifelse阻止.

Case Insensitive解决方案:

echo %check_computername%| Find /I "LAP" >nul 2>&1 || echo does not contain LAP
echo %check_computername%| Find /I "LAP" >nul 2>&1 && echo does not contain LAP
Run Code Online (Sandbox Code Playgroud)