无忧启动论坛

标题: 多行ECHO 显示字符到文件只有第一行成功(不配对的双引号) [打印本页]

作者: zts59    时间: 7 天前
标题: 多行ECHO 显示字符到文件只有第一行成功(不配对的双引号)
本帖最后由 zts59 于 2024-11-19 09:15 编辑
  1. echo reg add "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName"  /f /v "ComputerName" /t REG_SZ /d "%newc%" > d:\soft\new_name.log
  2. echo reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters  /f /v "Hostname" /t REG_SZ /d "%newc%" >> d:\soft\new_name.log
  3. 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 天前
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. ::针对公司电脑进行管理,大多数是受限用户(users)
  4. ::非域控环境下在多用户打开服务器共享文件时提示正打开的用户名的修改,只收集了WPS和MSOFFICE,AUTOCAD没有这个健值所以想到改电脑名称。
  5. ::先安装好软件,登陆好访问\\srv10服务器的共享文件夹的用户(后面要取这个用户名)。
  6. ping -n 1 127.0.0.1 >NUL
  7. chcp 437
  8. pushd "%~dp1"
  9. set newname=noname
  10. for /f "tokens=2 delims= " %%a in ('cmdkey /list:srv10^|find "User:"')  do (set newname=%%a)
  11. if '%newname%==' set newname=noname
  12. ::取IP址址后两段放在电脑名后面
  13. for /f "tokens=15,16 delims=. " %%a in ('route print ^|findstr 0.0.0.0.*0.0.0.0') do set myip=%%a_%%b
  14. set newc=%newname%_%myip%
  15. echo %newc%

  16. ::start1
  17. ::修改OFFICE和WPS的用户信息,打开共享文件显示自己的用户名
  18. reg add "HKCU\Software\kingsoft\Office\6.0\Common\UserInfo" /f /v "UserName" /t REG_SZ /d "%newname%"
  19. reg add "HKCU\Software\kingsoft\PDF\common\UserInfo" /f /v "UserName" /t REG_SZ /d "%newname%"
  20. reg add "HKCU\Software\Microsoft\Office\Common\UserInfo" /f /v "UserName" /t REG_SZ /d "%newname%"
  21. ::生成要修改电脑名称的批处理,稍后以管理员身份执行,注意生成的路径。
  22. echo reg add "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName"  /f /v "ComputerName" /t REG_SZ /d "%newc%" > d:\soft\new_name.bat
  23. echo reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters"  /f /v "Hostname" /t REG_SZ /d "%newc%" >> d:\soft\new_name.bat
  24. echo reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters"  /f /v "NV Hostname" /t REG_SZ /d "%newc%" >> d:\soft\new_name.bat
  25. ping -n 2 127.0.0.1 >NUL
  26. ::以管理员身份执行改电脑名称
  27. runas /noprofile /user:administrator d:\soft\new_name.bat
  28. Popd
  29. EXIT
复制代码


谢谢,麻烦大家了,作个标记吧
作者: nttwqz    时间: 6 天前
建议楼主使用vscode来写代码,符号自动补全
作者: 2012雨晨绿软    时间: 6 天前
没有空格双引号“”可用可不用 如果有空格必须加“” ECHO 后如有一些特殊字符还需要前面加^来避免当成执行程序 ,从你的代码中看第二行和第三行add 后面的双引号只有一半需要一对“”完整




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3