Board logo

标题: [系统相关] 这个批处理获取计算机名为什么不显示? [打印本页]

作者: wh123wh123    时间: 2024-5-16 23:51     标题: 这个批处理获取计算机名为什么不显示?

@echo off
echo.
echo 您当前的用户为:%USERNAME%
echo 您当前的计算机名为:%COMPUTER%
echo 按任意键退出...
pause>nul
作者: 77七    时间: 2024-5-17 00:36

查看相关变量名可以在命令行下 执行 set
作者: ShowCode    时间: 2024-5-17 08:28

回复 1# wh123wh123


C:\>set | findstr /i "computer"
COMPUTERNAME=PC-9527
作者: aloha20200628    时间: 2024-5-17 10:25

回复 1# wh123wh123

系统保留的环境变量名应该是 %COMPUTERNAME% 而非 %COMPUTER%

作者: wh123wh123    时间: 2024-5-17 12:01

回复 4# aloha20200628


感谢回答,测试正确
    更改计算机名称,用批处理怎么实现?
作者: aloha20200628    时间: 2024-5-17 13:35

本帖最后由 aloha20200628 于 2024-5-17 13:48 编辑

回复 5# wh123wh123

最简捷可靠的方法是调用powershell功能实现,如下代码存为 test.bat (或直接在命令行复制以下代码运行),须在管理员身份的cmd窗口中运行,其后重启电脑生效...
计算机名称不能包含任何特殊字符,如` ~ @ # $ % ^ & ( ) _ = + { } | ; : , ‘ “ . < > / ?,以及空格,最好不超过15个字符。
  1. powershell " Rename-Computer -NewName '新名称' "
复制代码

作者: wh123wh123    时间: 2024-5-17 14:19

回复 6# aloha20200628
用BAT能不能实现?不需要重启的那种
作者: Batcher    时间: 2024-5-17 15:25

回复 7# wh123wh123


http://bbs.bathome.net/thread-67170-1-1.html#pid273075
作者: aloha20200628    时间: 2024-5-17 15:37

本帖最后由 aloha20200628 于 2024-5-17 17:46 编辑

回复 7# wh123wh123

直接修改注册表的方法亦须重启系统(即使注册表已被更新),至少win8.1是如此...

作者: wh123wh123    时间: 2024-5-17 16:03

回复 8# Batcher


    @echo off
set /p A=你要替换的计算机名称,不能包含空格
reg add HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ComputerName /v ComputerName /t REG_SZ /d %A% /f
pause
是这段吗?
作者: Batcher    时间: 2024-5-17 17:23

回复 10# wh123wh123


    不是。是wmic那段。
作者: aloha20200628    时间: 2024-5-17 17:43


记得以前曾解释为何修改系统变量必须重启系统才能 ‘全面彻底’ 更新其修改结果... 而 %computername% 作为系统重要变量之一,也应在此理之中...

作者: wh123wh123    时间: 2024-5-17 23:13

回复 9# aloha20200628


    好几年前用过一个代码,修改后是不用重启的




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2