标题: [系统相关] BAT脚本修改计算机名字怎样自动取TXT的文字? [打印本页]
作者: hwb991030 时间: 2018-12-29 11:37 标题: BAT脚本修改计算机名字怎样自动取TXT的文字?
bat修改计算机名字,cmd窗体输入的计算机名字自动取123这个TXT的文字,批处理应该怎么改,感谢
作者: Batcher 时间: 2018-12-29 14:56
计算机名字到底是以CMD窗口输入为准?还是以123.txt的内容为准?
作者: hwb991030 时间: 2018-12-30 13:37
123.TXT内容
作者: Batcher 时间: 2018-12-30 13:40
回复 3# hwb991030
“cmd窗体输入的计算机名字”这一步的目的是什么?
作者: hwb991030 时间: 2018-12-30 14:05
就是打开BAT时候,正常修改计算机名是需要手动去输入计算机名字,意思想要打开BAT时候,不去人为输入计算机名,而是取123.TXT这个文本的内容,应该是取内容作为变量,就是改不好,所以问下
作者: Batcher 时间: 2018-12-30 14:21
回复 5# hwb991030
把你现在使用的代码发出来,我帮忙改改。
作者: hwb991030 时间: 2018-12-30 14:42
回复 6# Batcher
@echo off
::设置主机名
set /p pcname=请输入计算机名称:
::修改主机名
set regpth1=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName
set regpth2=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
set regpth3=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ActiveComputerName
reg add %regpth1% /v ComputerName /d %pcname% /f>nul
reg add %regpth2% /v "NV Hostname" /d %pcname% /f>nul
reg add %regpth2% /v Hostname /d %pcname% /f>nul
reg add %regpth3% /v ComputerName /d %pcname% /f>nul
附件不能上传,只好传一下网上这个代码,这个BAT执行时候手工去输入计算机名,不手工输入,而是取本地电脑D:\123.TXT这个文本内容作为计算机名再执行BAT
作者: lifei259 时间: 2018-12-30 15:07
- @echo off
- ::设置主机名
- set /p pcname=<d:\123.txt
- ::修改主机名
- set regpth1=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName
- set regpth2=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
- set regpth3=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ActiveComputerName
- reg add %regpth1% /v ComputerName /d %pcname% /f>nul
- reg add %regpth2% /v "NV Hostname" /d %pcname% /f>nul
- reg add %regpth2% /v Hostname /d %pcname% /f>nul
- reg add %regpth3% /v ComputerName /d %pcname% /f>nul
复制代码
作者: hwb991030 时间: 2018-12-30 15:38
回复 8# lifei259
感谢指教
作者: Batcher 时间: 2018-12-30 16:06
回复 9# hwb991030
基础教程里面有个例子 set /p 获取文件第一行内容
http://bbs.bathome.net/thread-3774-1-1.html#pid23888
作者: smss 时间: 2018-12-30 17:47
这不是更好吗- @echo off
- ::设置主机名
- set pcname=XXX(计算机名称)
- ::修改主机名
- set regpth1=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName
- set regpth2=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
- set regpth3=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ActiveComputerName
- reg add %regpth1% /v ComputerName /d %pcname% /f>nul
- reg add %regpth2% /v "NV Hostname" /d %pcname% /f>nul
- reg add %regpth2% /v Hostname /d %pcname% /f>nul
- reg add %regpth3% /v ComputerName /d %pcname% /f>nul
复制代码
回复 Batcher
@echo off
::设置主机名
set /p pcname=请输入计算机名称:
::修改主机名
set regpth1 ...
hwb991030 发表于 2018-12-30 14:42
作者: Batcher 时间: 2018-12-30 18:08
回复 11# smss
没有更好只有更合适 ^_^ 也许楼主要把代码给很多不懂BAT甚至不懂IT的用户去执行
作者: bbs2468 时间: 2019-1-10 11:11
@echo off
mode con cols=80 lines=30
cd /d %~dp0
echo *******************************输入域登录用户名*********************************
set /p ipname=
@echo off
cd /d %~dp0
rem 获取计算机型号
for /f "tokens=2 delims==" %%a in ('wmic csproduct get name /value') do (
set "Mode=%%a"
)
rem 获取序列号
for /f "tokens=2 delims==" %%a in ('wmic bios get serialnumber /value') do (
set "SN=%%a"
)
rem 提取计算机名
FOR /F "tokens=1,2,3,4,5,6,7,8 delims=, " %%a in ('type \\fileserver\YAPPIT\temp\act.bat^|find "%ipname%"') do (
echo. **************************本机信息********************
echo 员工姓名 【%%g】
echo 计算机名 【%%c】
echo IP地址 【%%d】
echo 网关 【%%e】
echo 计算机描述 【%%g,%%f】
echo. **************************本机信息********************
pause
set pcname=%%c
set ip=%%d
set gateway=%%e
set ms=%%g,%%f
rem 信息写入
echo 计算机名: %%c IP: %%d 序列号: %SN% >c:\version\%%f_%%g_%%c_"%mode%".txt
echo 计算机名: %%c IP: %%d 序列号: %SN% >\\fileserver\adcheck\2019\%%f_%%g_%%c_"%mode%".txt
)
pause
rem 更改计算机名和IP
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName" /v ComputerName /t reg_sz /d %pcname% /f >nul 2>nul
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName" /v ComputerName /t reg_sz /d %pcname% /f >nul 2>nul
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t reg_sz /d %pcname% /f >nul 2>nul
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v Hostname /t reg_sz /d %pcname% /f >nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\lanmanserver\parameters" /v "srvcomment" /t reg_sz /d %ms% /f >nul 2>nul
for /f "tokens=4*" %%a in ('netsh interface show interface ^| findstr "已连接"') do set "Name=%%~a"
echo 当前正在上网的网络连接名是【%Name%】
netsh interface ip set address name="%Name%" source=static addr=%ip% mask=255.255.255.0 gateway=%gateway%
netsh interface ip del dns name="%Name%" all >nul 2>nul
netsh interface ip set dns "%Name%" static 172.20.1.111 >nul 2>nul
netsh interface ip add dns "%Name%" 172.20.1.112 >nul 2>nul
@echo off
rem 姓名拼音,计算机名,电脑IP,网关,部门,姓名
rem x,HQ0572,192.168.xx.xx,192.168.xx.254,dep,某某
rem x,HQ0573,192.168.xx.xx,192.168.xx.254,dep,某某
rem x,HQ0574,192.168.xx.xx,192.168.xx.254,dep,某某
rem x,HQ0575,192.168.xx.xx,192.168.xx.254,dep,某某
rem x,HQ0576,192.168.xx.xx,192.168.xx.254,dep,某某
rem x,HQ0577,192.168.xx.xx,192.168.xx.254,dep,某某
现在自己在用的,400多用户,维护起来很方便,输入用户的姓名拼音或者计算机名就能快速写入计算机名,IP,并做好备注
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |