无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 440|回复: 10
打印 上一主题 下一主题

[已解决] 多行ECHO 显示字符到文件只有第一行成功(不配对的双引号)

[复制链接]
跳转到指定楼层
1#
发表于 7 天前 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 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中只有第一行内容。是什么限制吗?
11#
发表于 6 天前 | 只看该作者
没有空格双引号“”可用可不用 如果有空格必须加“” ECHO 后如有一些特殊字符还需要前面加^来避免当成执行程序 ,从你的代码中看第二行和第三行add 后面的双引号只有一半需要一对“”完整
回复

使用道具 举报

10#
发表于 6 天前 来自手机 | 只看该作者
建议楼主使用vscode来写代码,符号自动补全
回复

使用道具 举报

9#
 楼主| 发表于 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
复制代码


谢谢,麻烦大家了,作个标记吧
回复

使用道具 举报

8#
发表于 6 天前 | 只看该作者
下面两行Parameters后面少引号
回复

使用道具 举报

7#
 楼主| 发表于 6 天前 | 只看该作者
年纪大了,原来是不配对的双引号,最近老出一些犯混的事,谢谢大家
回复

使用道具 举报

6#
发表于 6 天前 来自手机 | 只看该作者
第一行删了再试
回复

使用道具 举报

5#
发表于 6 天前 | 只看该作者
谢谢3楼分享
回复

使用道具 举报

4#
发表于 7 天前 | 只看该作者
没有空格写引号干嘛
回复

使用道具 举报

3#
发表于 7 天前 | 只看该作者
语法不对。第一个路径引号不全。

评分

参与人数 1无忧币 +5 收起 理由
pkups + 5 赞一个!

查看全部评分

回复

使用道具 举报

2#
发表于 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
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-25 12:04

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表