Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 是否使用批处理根据当前计算机名更改计算机名和用户名?_Windows_Variables_Batch File_If Statement_Wmic - Fatal编程技术网

Windows 是否使用批处理根据当前计算机名更改计算机名和用户名?

Windows 是否使用批处理根据当前计算机名更改计算机名和用户名?,windows,variables,batch-file,if-statement,wmic,Windows,Variables,Batch File,If Statement,Wmic,我正在编写一个批处理,我将使用Desktop Central 9/PsExec远程将其放入所有用户的启动文件夹中。我们将开始使用命名约定,作为彻底改革计算机管理计划的一部分。此批处理需要找到当前PC名称,然后根据我在批处理本身中手动定义的内容对其进行更改。如果能够根据最初发现的计算机名更改用户名,那也会很好。所有计算机都使用Windows 7及以上版本。我快速地写了一批我认为应该是什么样子的东西,除去用户名修改,但是这里和那里有些细微差别,我一定是弄错了。“If”语句是我在批处理方面的弱点,但我

我正在编写一个批处理,我将使用Desktop Central 9/PsExec远程将其放入所有用户的启动文件夹中。我们将开始使用命名约定,作为彻底改革计算机管理计划的一部分。此批处理需要找到当前PC名称,然后根据我在批处理本身中手动定义的内容对其进行更改。如果能够根据最初发现的计算机名更改用户名,那也会很好。所有计算机都使用Windows 7及以上版本。我快速地写了一批我认为应该是什么样子的东西,除去用户名修改,但是这里和那里有些细微差别,我一定是弄错了。“If”语句是我在批处理方面的弱点,但我知道在这种情况下它将非常有效。有人能纠正我这里做错了什么吗?非常感谢,这将帮助我们很多

设置WMIC GET COMPUTERNAME%%CURRENT%

如果%%CURRENT%=THOMAS-PC,则注册添加 HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName/v ComputerName/t REG_SZ/d TGZ-DELL-001/f

如果%%CURRENT%=CHARLES-PC,则注册添加 HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName/v ComputerName/t REG_SZ/d TGZ-DELL-002/f

如果%%CURRENT%=MATHEW-PC,则注册添加 HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName/v ComputerName/t REG_SZ/d TGZ-DELL-003/f

  • %%当前百分比不正确。使用%CURRENT%
  • 如果语句没有“then”。如果if语句中有多行,请使用parens
  • 使用=进行设置,使用=进行比较
  • 如我的示例所示使用引号,这样空格等就不会引起问题
  • 在这种情况下,不需要WMIC
  • 像这样的怎么样? 我添加了/I以使比较不区分大小写。如果你愿意的话,请把它删掉。。。但是你的比较会错过Thomas PC等

    ****警告****未经测试!当然,在弄乱工作机器上的注册表之前,您将在测试机器上测试:)

    @echo off
    set "RegCmd=REG ADD HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName /v ComputerName /t REG_SZ /d"
    
    echo(this computer is %ComputerName%
    if /I "%ComputerName%"=="THOMAS-PC" %RegCmd% TGZ-DELL-001 /f
    if /I "%ComputerName%"=="CHARLES-PC" %RegCmd% TGZ-DELL-002 /f
    if /I "%ComputerName%"=="MATHEW-PC" %RegCmd% TGZ-DELL-003 /f