从.txt文件中的文本更改主机名

时间:2017-11-13 10:43:41

标签: batch-file cmd

我正在创建一个脚本,如果计算机启动,主机名必须更改为特定名称。该名称位于test.txt文件中。

目前我的文档中有一个test.txt文件。

如果我这样做:

setlocal
set /p hostname=< test.txt
echo %hostname% 
SBB-TEST

所以我可以将.txt文件中的文本转换为变量。 但如果我尝试:

WMIC computersystem where name="%computername%" rename name =%hostname%

我收到错误:动词切换无效

这是我的第一个问题。

我的第二个问题是,如果我直接从批处理文件中执行此操作..我的屏幕上出现以下错误:

set /p hostname= 0<test.txt
The system cannot find the file specified

他为什么要更改set / p hostname =&lt; test.txt设置/ p hostname = 0

0未指定。

1 个答案:

答案 0 :(得分:1)

rename上使用CALL。您仍然需要重新启动系统才能使新主机名生效。

WMIC computersystem where name="%computername%" CALL rename name =%hostname%

https://blogs.technet.microsoft.com/askds/2009/02/19/renaming-a-computer-using-wmic-and-how-to-get-around-that-aggravating-invalid-global-switch-error/

此外,HOSTNAME已经是UNIX / Linux / Cygwin下的环境变量。我会称之为别的东西。也许是NEW_HOSTNAME