我正在创建一个脚本,如果计算机启动,主机名必须更改为特定名称。该名称位于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未指定。
答案 0 :(得分:1)
在rename
上使用CALL。您仍然需要重新启动系统才能使新主机名生效。
WMIC computersystem where name="%computername%" CALL rename name =%hostname%
此外,HOSTNAME
已经是UNIX / Linux / Cygwin下的环境变量。我会称之为别的东西。也许是NEW_HOSTNAME
。