以下获取专有名称的代码适用于我的所有计算机,但有一些。
FOR /F "skip=2 tokens=3*" %%I in ('reg query "hklm\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine" /v Distinguished-Name') DO @ECHO "%%I %%J"
我正在研究一台展示这种情况的XP机器,并尝试了下面的替代品,但无济于事:
FOR /F "tokens=3*" %%I in ('reg query "hklm\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine" /v Distinguished-Name |findstr "CN="') DO ECHO "%%I %%J"
有趣的是,如果我不像这样包含/ f,我会得到很好的结果:
reg query "hklm\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine" /v Distinguished-Name |findstr "CN="
Distinguished-Name REG_SZ CN=xyz123,OU=Test-5,DC=test,DC=com
或
reg query "hklm\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine" /v Distinguished-Name
! REG.EXE VERSION 3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine
Distinguished-Name REG_SZ CN=xyz123,OU=Test-5,DC=test,DC=com
这里可能有什么想法?
答案 0 :(得分:1)
FOR /F "tokens=2*" %%I in ('reg query "hklm\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine" /v Distinguished-Name^|find "REG_SZ"') DO ECHO "%%J"
适用于所有Windows版本。
答案 1 :(得分:0)
咄!我从剧本中删除了那部分而忘记删除'%'以便它应该是%I而不是%% I,这就是为什么没有返回。