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

[转贴] 批处理命令set变量字符截取点点通

[复制链接]
发表于 2013-9-11 17:51:10 | 显示全部楼层
我也想知道替换某字符之前但不包括该字符如何实现
发表于 2013-9-16 14:30:29 | 显示全部楼层
讲解方式很新颖啊,谢谢分享。
发表于 2013-10-5 09:31:00 | 显示全部楼层
谢谢,又学了新知识点!
发表于 2014-3-18 11:21:05 | 显示全部楼层
这种教学方式不错,就是代码看的太累,没完全看明白
发表于 2014-8-8 18:38:52 | 显示全部楼层
回复 4# 随风

感谢两位大神,,这既可以学习set截取字符串用法,又可以学习bat的代码。真是一举夺得。
不知道为什么,用楼主的bat需要以管理员运行(双击运行卡在“第一屏舍弃那,bat屏幕闪”),,你这个bat直接双击就能顺利运行。
发表于 2017-8-11 15:55:27 | 显示全部楼层
这个教案直观实用,解了我多处疑惑,谢谢
发表于 2020-7-7 11:16:24 | 显示全部楼层
真棒 解惑了解惑了
发表于 2022-5-1 23:20:58 | 显示全部楼层
本人研究出来的通用格式:
通用格式:
①set str=%str:~起始位m,取舍数n%
  注解:(n为正整数时表示从m位开始向右取n个字符;n为负数时表示从最后 一位开始向左舍弃n个字符;当n为0时不会截取任何字符,即:str=空值。)
②set str=%str:~起始位m%    注解:(不管m是正还是负都表示截取m位和其后的所有字符)

通用原则:
①字符串的排位:从左到右依次为第0位、第1位、第2位...;从右到左依次为第-1位、第-2位、第-3位...。
②截取过程:先截取再取舍。第一步:先截取起始位之后的所有字符串(包括起始位)(第一个参数m控制截取)。第二步:再对截取到的字符串进行取舍。具体是取还是舍看n的值,如果n为正数负数或0请看格式①和注解,如果n参数没有请看格式②和注解。(参数n控制取舍)
例如:
@echo off
set str=123456789
set str=%str:~3,0%
echo %str%
pause
结果显示ECHO处于关闭状态
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 05:43 , Processed in 0.017736 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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