找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 28701|回复: 3

[文本处理] 批处理set截取字符加上负号之后如何理解?

[复制链接]
发表于 2011-7-29 15:42:41 | 显示全部楼层 |阅读模式
看了一篇文章如下:
http://www.hackbase.com/tech/2009-11-09/57799.html
不加负号还能理解,加上负号就过不去了,还有就是 偏移量和长度 是不是不能同时加负号?
高手救我啊
发表于 2011-7-29 16:18:17 | 显示全部楼层
本帖最后由 mstsc 于 2011-7-29 16:23 编辑

回复 1# 1130342432


    偏移量和长度    都可以加负号   长度加负号的意思就是不要偏移量后多少位      加上负号,你就从右边向左边来理解。(加负号,就是反方向来理解)
发表于 2011-7-29 20:26:42 | 显示全部楼层
看过这几个没?

批处理set命令截取字符详解
http://bbs.bathome.net/thread-996-1-1.html

批处理set命令变量字符截取点点通
http://bbs.bathome.net/thread-40-1-1.html

批处理新手set命令截取字符练习工具
http://bbs.bathome.net/thread-1149-1-1.html
发表于 2011-7-31 12:19:29 | 显示全部楼层
  1. @echo off
  2. Set a=hello world
  3. echo %a:~1,2%
  4. echo %a:~-1,2%
  5. pause
复制代码
::其实你要这么理解,假设有个小数点在字符串"hello world"之间,
~1,2第一个数字定位小数点的起始,第二个数字定位小数点的终止,
当数字为正数时小数点就从左往右偏移,当数字为负数的时候就从右往左偏移。
例如
%a:~-1,2%为什么是d呢,定位起始是从右往左偏移 hello worl.d,
定位终止虽然是从左往右偏移两位,但是hello worl.d后面只有一个d了,所以只显示1个d。

我自编个口诀:
小数点
第一是起始,第二是终止。
正数左到右,负数右到左。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 21:25 , Processed in 0.014389 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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