[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] [已解决]如何处理特殊字符

本帖最后由 pcl_test 于 2017-4-30 23:06 编辑

求助大神
SecureCRT.exe /SCRIPT D:\GNS3\SecureCRT6.5.0\Scripts\fwsm_sec_ssh.vbs /SSH2 /L root /PASSWORD "FJ&wgw@ZZ.($%^)" 10.0.19.193

cmd输入正常,调用到bat中,提示密码错误  "FJ&wgw@ZZ.($%^)"  引号内密码,bat把它识别成其他东西了,如何避免呢


尝试过 ^ \ / 等都无法成功

回复 5# aa77dd@163.com


    thx

TOP

回复 4# 00JTR00

批处理文件中, 单个的 % 首先会尝试 参数扩展变量(%0 到 %9)的解析, 如果解析失败, % 会被忽略

当有两个连续时: %%  ,  如果在 for 语句中, 首先会尝试 解析为 for 变量(%% 后接一个), 否则, 会被当作 一个 %

在 set /a 后面表达式中时, 如果要当作 求余运算符, 那么 用 %%   , 并且后面不要紧接字母, 以免与 for 变量混淆,  单个的 % 会被忽略

测试批处理代码
  1. @echo off
  2. echo %
  3. echo %0
  4. echo %1
  5. echo %a
  6. echo %%
  7. echo %%a
  8. echo %%0
  9. echo %%1
  10. for %%a in (x) do (
  11.     echo %%0
  12.     echo %%a
  13.     echo %%b
  14. )
  15. set a=6
  16. set /a re = 15 %% a
  17. set re
  18. for %%a in (x) do (
  19. set /a re = 15 %%a
  20. )
  21. set re
  22. echo on
  23. set /a dd = 15 %%4
  24. set dd
  25. set /a ee = 15 % 4
  26. set ee
  27. pause
复制代码
1

评分人数

TOP

试一下
FJ^&wgw@ZZ.($%%^^)
flyinnet9 发表于 2015-8-25 13:32



    高手,可以了,但是为什么后面多1个%

TOP

高手,可以了,但是为什么后面多1个%

TOP

试一下
FJ^&wgw@ZZ.($%%^^)
1

评分人数

TOP

返回列表