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

[文本处理] 批处理获取的参数,空格变成20%

本帖最后由 xiaodevps 于 2019-3-11 17:39 编辑

代码

@echo on
set m=%1%
ping %m%
pause
exit

其中引用的m如果有空格的话,在某些情况下会显示 ping%20www.163.com   ,正常的情况应该是  ping www.163.com ,但是某些情况下是 ping%20www.163.com  中间的空格变成了%20,请问如何解决呢?

  1. set m=%~1
  2. ping %m: =%
  3. pause
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

谢谢,但是还是不行。

TOP

回复 3# xiaodevps


    请给个完整的测试用例和测试结果,我试试。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 xiaodevps 于 2019-3-12 10:15 编辑
回复  xiaodevps


    请给个完整的测试用例和测试结果,我试试。
Batcher 发表于 2019-3-11 21:57



先导入注册表值

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\alert]
@="URL:Alert Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\alert\DefaultIcon]
@="cmd,1"

[HKEY_CLASSES_ROOT\alert\shell]

[HKEY_CLASSES_ROOT\alert\shell\open]

[HKEY_CLASSES_ROOT\alert\shell\open\command]
@="cmd /c set m=%1 & call set m=%%m:alert:=%% & call \"d:\\123.bat\" %%m%%"




然后自己写一个html代码

<a href="alert://163.com -t" />ping test  


使用谷歌浏览器与EDGE打开html获得的参数都带有  %20

TOP

  1. @echo on
  2. title 代码可用,扫码头像,感谢赞助;有什么问题,可加QQ956535081及时沟通
  3. set m=%1
  4. setlocal enabledelayedexpansion
  5. set m=!m:%%20= !
  6. ping !m:/=!
  7. pause
  8. exit
复制代码
提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

zaqmlp 发表于 2019-3-12 11:04



   

谢谢,谷歌浏览器可用,但是edge与IE用不了。

TOP

用其他字符代替空格,bat里再清除就是了
提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

本帖最后由 xiaodevps 于 2019-3-12 12:16 编辑

还有个问题,例如 ping  http://163.com -t    变成了  ping  http:163.com -t

中间的 // 被删除了,该如何保留呢?

TOP

学习了。。

TOP

返回列表