无忧启动论坛
标题:
多行ECHO 显示字符到文件只有第一行成功(不配对的双引号)
[打印本页]
作者:
zts59
时间:
7 天前
标题:
多行ECHO 显示字符到文件只有第一行成功(不配对的双引号)
本帖最后由 zts59 于 2024-11-19 09:15 编辑
echo reg add "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName" /f /v "ComputerName" /t REG_SZ /d "%newc%" > d:\soft\new_name.log
echo reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /f /v "Hostname" /t REG_SZ /d "%newc%" >> d:\soft\new_name.log
echo reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /f /v "NV Hostname" /t REG_SZ /d "%newc%" >> d:\soft\new_name.log
复制代码
以上截取部分代码,可在new_name.log中只有第一行内容。是什么限制吗?
作者:
magicgenius
时间:
7 天前
echo reg add HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName /f /v ComputerName /t REG_SZ /d %newc% > d:\soft\new_name.log
echo reg add HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /f /v Hostname /t REG_SZ /d %newc% >> d:\soft\new_name.log
echo reg add HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /f /v NV Hostname /t REG_SZ /d %newc% >> d:\soft\new_name.log
作者:
slore
时间:
7 天前
语法不对。第一个路径引号不全。
作者:
2012fengxi
时间:
7 天前
没有空格写引号干嘛
作者:
wang1126
时间:
6 天前
谢谢3楼分享
作者:
szwp
时间:
6 天前
第一行删了再试
作者:
zts59
时间:
6 天前
年纪大了,原来是不配对的双引号,最近老出一些犯混的事,谢谢大家
作者:
wxinchun92
时间:
6 天前
下面两行Parameters后面少引号
作者:
zts59
时间:
6 天前
@echo off
setlocal enabledelayedexpansion
::针对公司电脑进行管理,大多数是受限用户(users)
::非域控环境下在多用户打开服务器共享文件时提示正打开的用户名的修改,只收集了WPS和MSOFFICE,AUTOCAD没有这个健值所以想到改电脑名称。
::先安装好软件,登陆好访问\\srv10服务器的共享文件夹的用户(后面要取这个用户名)。
ping -n 1 127.0.0.1 >NUL
chcp 437
pushd "%~dp1"
set newname=noname
for /f "tokens=2 delims= " %%a in ('cmdkey /list:srv10^|find "User:"') do (set newname=%%a)
if '%newname%==' set newname=noname
::取IP址址后两段放在电脑名后面
for /f "tokens=15,16 delims=. " %%a in ('route print ^|findstr 0.0.0.0.*0.0.0.0') do set myip=%%a_%%b
set newc=%newname%_%myip%
echo %newc%
::start1
::修改OFFICE和WPS的用户信息,打开共享文件显示自己的用户名
reg add "HKCU\Software\kingsoft\Office\6.0\Common\UserInfo" /f /v "UserName" /t REG_SZ /d "%newname%"
reg add "HKCU\Software\kingsoft\PDF\common\UserInfo" /f /v "UserName" /t REG_SZ /d "%newname%"
reg add "HKCU\Software\Microsoft\Office\Common\UserInfo" /f /v "UserName" /t REG_SZ /d "%newname%"
::生成要修改电脑名称的批处理,稍后以管理员身份执行,注意生成的路径。
echo reg add "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName" /f /v "ComputerName" /t REG_SZ /d "%newc%" > d:\soft\new_name.bat
echo reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /f /v "Hostname" /t REG_SZ /d "%newc%" >> d:\soft\new_name.bat
echo reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /f /v "NV Hostname" /t REG_SZ /d "%newc%" >> d:\soft\new_name.bat
ping -n 2 127.0.0.1 >NUL
::以管理员身份执行改电脑名称
runas /noprofile /user:administrator d:\soft\new_name.bat
Popd
EXIT
复制代码
谢谢,麻烦大家了,作个标记吧
作者:
nttwqz
时间:
6 天前
建议楼主使用vscode来写代码,符号自动补全
作者:
2012雨晨绿软
时间:
6 天前
没有空格双引号“”可用可不用 如果有空格必须加“” ECHO 后如有一些特殊字符还需要前面加^来避免当成执行程序 ,从你的代码中看第二行和第三行add 后面的双引号只有一半需要一对“”完整
欢迎光临 无忧启动论坛 (http://wuyou.net/)
Powered by Discuz! X3.3