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

[文本处理] 用echo输出数字到文本也需要转义吗?

本帖最后由 pcl_test 于 2016-11-23 10:50 编辑

用echo输出文件时,数字也转义?

把“WScript.CreateObject("WScript.Shell").Run "cmd.exe /c "%##0%BmpProgram\BalloonTip.exe" ""!xtqp_s!"" !xtqp_n! !xtqp_t! 1", 0”写入文件notice.vbs,怎么写?
  1. echo WScript.CreateObject("WScript.Shell").Run "cmd.exe /c "%##0%BmpProgram\BalloonTip.exe" ""!xtqp_s!"" !xtqp_n! !xtqp_t! 1", 0>>"%##0%BmpProgram\notice.vbs"
复制代码
以下输出为空,问题在后面的“,”和“0”上,在它们前面添加转义符“^”即可。
再来一个:
  1. echo set /a js+=1>>"%##0%BmpProgram\Baoshi.bat"
复制代码
正确的:
  1. echo set /a js+=^1>>"%##0%BmpProgram\Baoshi.bat"
复制代码
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

擦,刚刚看了几集火影,发现居然这么晚还有人在发帖!
这个是基础问题,在数字和大于号之间加个空格就好了。

TOP

本帖最后由 applba 于 2011-5-28 04:15 编辑

楼主火星了:
没事不要吧数字和重定向符号合体,否则数字会被解释成句柄。

正确的写法:
在他们之间加上空格(分隔符)即可。
  1. echo set /a js+= 1 >>"%##0%BmpProgram\Baoshi.bat"
复制代码
或者
  1. echo set /a js+= 1 1>>"%##0%BmpProgram\Baoshi.bat"
复制代码

TOP

3# applba
句柄是什么意思?
0>
1>
2>
哪里可以查看他们的帮助信息。

TOP

晕,个个都知道,看来只是我孤陋寡闻了!~
你们一说,我想起了这个东东:
echo %var%>nul 2>nul
……
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

4# Hello123World


0是输入句柄,句柄1是正确输出,句柄2是错误输出,3~9由命令自行定义(说是这么说,反正我是从来没碰到过的),经常被用来进行句柄备份,超过9的句柄不存在,严格说是应该存在更高的句柄,但是我们至今无法对其进行任何操作。
5# cjiabing


印象中echo从来只有正确回显,没有错误输出,所以echo str>nul就够了,不过既然echo了又把它屏蔽,有什么意义呢?

TOP

或者说,你转义的是句柄,而不是简单的数字。

TOP

6# zm900612
哈哈,我是举例说意思——句柄,就如applba所说的,这里的数字已经不单纯是数字的了!~
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

7# applba
最近一年,认真学习的时间少了,自己摸索的时间多了,一些基础的东西没学好,所以有这种奇怪的反应,谅解谅解!~
确实,在写了几个比较大的程序之后,感觉自己的技术已经足够处理一些常见问题了,没有更大的要求去学习一些自己未掌握的东西。如果有问题,也能够在实践中不停地摸索,一般都可以迎刃而解。特别是在写batmplayer的过程中,积累了相当多的经验,也总结了一些常用的代码,比如随机乱序、结束指定进程等等。但这一些并不能掩盖自己一些基础知识的不足,像现在这个问题,当时百思不得其解,为什么数字也要转义符?现在看来,不过是在这种特定的情形下变成了句柄,一个很简单的问题。所以说,批处理的学习,也是终身学习!~
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

9# cjiabing


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

TOP

10# Batcher
主要用tasklist或者taskkill就可以了,有时候也可以用wmic,只是要用for进行更详细的分析。比如有多个cmd,只结束指定标题的、指定路径的、指定Pid的、指定服务名的进程等等,都是很容易做到的,我前面也发过《进程判断常用代码 》,对你来说这个应该不是很难。

但我有个疑问,(我还没详细看过句柄),为何echo 1>txt.txt没有问题,而上面那些例子却有问题?也就是,上面情况下“数字>”变成了句柄?
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

返回列表