`
zzc1684
  • 浏览: 1229627 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

DOS中字符串的处理

阅读更多

一、基本知识 

在DOS中,对字符串的处理其最简单是就字符串的连接:

 

 

set out_dir=.\out

set out_file_name=Appstore

set version=001

set out_file_name=%out_file_name%_%version%

echo %out_file_name%

最后变量out_file_name的值就是Appstore_001

在DOS中,对字符串的负责处理(替换和截取)其实是通过操作环境变量的字符串值来进行。

 

二、%PATH:str1=str2% 

这个是替换变量值的内容  

实例1

@echo off 

set a= bbs.verybat.cn 

echo 替换前的值: "%a%" 

set var=%a: =%

echo 替换后的值: "%var%"

pause

对比一下,我们发现他把变量%a%的空格给替换掉了,从这个例子,我们就可以发现 

%PATH:str1=str2%这个操作就是把变量%PATH%的里的str1全部用str2替换 

比如我们把上面的例子改成这样 

实例2

@echo off 

set a=bbs.verybat.cn 

echo 替换前的值: "%a%" 

set var=%a:.=伤脑筋

echo 替换后的值: "%var%" 

pause 

解释set var=%a:.=伤脑筋

set命令 var变量名 a是要进行字符替换的变量的值,"."为要替换的值

"伤脑筋"为替换后的值

执行后就会把变量%a%里面的"."全部替换为"伤脑筋"    

三、%PATH:~10,5%

取变量PATH从第10位开始,5个字符的值z做为新值。

实例3

@echo off 

set a=0123456789

set var=%a:~1,2%

echo %var%

set var=%a:~3,5% 

echo %var%    

四、%PATH:~-10% 

取变量PATH倒数10字符的值做为新值。

实例4

@echo off 

set a=0123456789

set var=%a:~-5%

echo %var% 

pause

结果:56780

五、%PATH:~0,-2% 

取变量PATH0字符和倒数第2个的所值做为新值。

实例5

@echo off 

set a=0123456789

set var=%a:~0,-2%

echo %var% 

pause

结果:01234567

六、综合应用
实例6
@echo off 
@title 字符串的编辑测试(下面描述用的箭头→ ← 分别表示向右、向左的意思) 
set aa=1234567890 
echo 说明:下面复合变量中,逗号前的数字表示指针偏移量,逗号后的数字表示提取的字符长度 
echo %aa:~1,5% //指针向右→偏移1位,然后从指针处开始向右→提取5个字符. 
echo %aa:~0,-3% //指针不偏移,→提取所有字符,并除去最后3个字符. 
echo %aa:~5% //单个数字,不指定长度值.表示指针→偏移5个字符,然后,→提取所有字符. 
echo %aa:~-5% //单个负值,特例,表示指针反方向偏移,从最右端起,←偏移5位,然后从指针处开始→提取所有字符.也可以简单理解为提取字符串末尾5个字符. 
 
echo 指针反方向偏移的情况.既是从字符串最右端起自右向左偏移.← 
 
echo %aa:~-2,1% // 偏移量取负值,表示指针从最右端起,向左←偏移2位,然后从指针处开始向右→提取1个字符,生成新的变量值.注意字符串末尾的空格,因为空格也将作为"透 明字符"提取到变量中去,切记要去掉变量末尾的空格.ctrl+A即可快速方便的检查该变量字符串末端是否含有空格. 
echo %aa:~-4,3% //最右端起,指针←偏移4位,然后→提取3个字符. 
echo %aa:~-4,-2% //从最右端起,指针←偏移4位,然后从指针处开始,→提取所有字符,并去除最后2个字符. 
实例7
echo %date:~0,10% //提取年月日信息 
echo %date:~-3% //提取星期几信息 
echo %time:~0,5% //提取时间中的时和分 
echo %time:~0,-3% //提取时和分和秒信息 
小结:
1、偏移量为正值时,表示指针向右移动;为负值时,表示指针从字符串最右端起向左移动. 
2、如果长度值为正,表示向右提取若干个字符;如果为负,表示向右提取所有字符,并去除若干个字符."若干个=长度值的绝对值。"提取字符的方向总是自左向右进行的. 
3、如果为单个数字,那么这个数字表示的是偏移量,长度值取默认值, 既是字符串的"余数",也就是从指针处开始,向右方向的所有字符.如果这个数字是负数,可以简单的理解为:提取字符串末尾的若干个字符.(正确的解释应该 是:表示指针反方向偏移,从最右端起,←偏移若干位,然后从指针处开始→提取所有字符) 
备注:%date%和%time%是系统内置的日期变量和时间变量。
实例8
set d=%Date:~0,4%%Date:~5,2%%Date:~8,2%%Time:~0,2%%Time:~3,2%%Time:~6,2% 
%Date:~0,4%表示年,以此类推 显示的格式为:20120515105610 
 
结束!
分享到:
评论

相关推荐

    汇编语言字符串比较

    在汇编语言编程中,字符串比较是一个常见的任务,它涉及到字符序列的...通过熟练掌握这些基本技巧,可以实现高效且灵活的字符串处理功能。在学习和实践中,不断熟悉汇编语言的语法和逻辑,对提升底层编程能力大有裨益。

    一个字符串处理库

    包括字符串比较、字符大小写转换、OEM(Dos)和ANSI(Windows)互换、查找、替换、删除子串、删除字符、格式化、子串剪裁、字节字符串处理、整数和字符串互换等等许多有用的函数 包含一个机器翻译的声明文件

    汇编统计字符串数字及字符个数

    在汇编语言编程中,处理字符串和计数特定字符出现的次数是一项常见的任务。这个任务要求我们编写一段程序,能够区分字符串中的字母和数字,并将它们的个数分别存储到预定义的变量中。以下是对这个任务的详细解析: ...

    字符串比较.docx

    ### 字符串比较知识点 #### 一、设计思想与实现原理 在计算机编程领域,字符串比较是一项基础且重要的操作。本文档将详细解释一个...这对于理解汇编语言的底层机制以及学习编程中的字符串处理技巧都是非常有帮助的。

    基于汇编实现输入字符串并显示

    调用INT 21H后,DOS会将缓冲区中的字符串显示在屏幕上。由于我们可能希望字符串换行后输出,所以在显示字符串前,可以先使用功能号02H(换行)进行换行操作。 这个过程涉及到了汇编语言的基本语法和DOS系统的使用,...

    微机原理课设字符串动画.docx

    课程设计的核心在于构建一个用户友好的界面,它由一个简洁的菜单组成,包括输入字符串、字符串动画显示和退出程序三个选项。用户通过输入字符串来个性化动画内容,并通过选择动画显示,可以看到自定义字符串在屏幕上...

    替换文件中指定字符串_批处理工具

    总结来说,“替换文件中指定字符串”的批处理工具是IT工作中一种高效的数据处理手段,它简化了繁琐的手动操作,提升了工作效率。fr.exe、readme.txt和Changelog.txt这三个文件构成了一款完整的批处理工具,用户可以...

    任意文件中查找字符串程序_

    通过对其使用方法及源代码的解析,我们不仅了解了如何在DOS环境下进行字符串查找,还学习了如何利用C语言实现文件操作及字符串处理的基本技巧。这对于深入理解早期操作系统的工作原理以及编程实践具有重要意义。

    masm.rar_字符串_汇编字符串

    汇编语言中的字符串处理主要包括以下几个关键知识点: 1. **内存分配**:汇编语言中,字符串是以字符序列的形式存储在内存中,通常以空字符(ASCII码为0)作为结束标志。程序员需要手动分配内存空间来存放字符串。 ...

    bat文件 字符串提取&替换等操作

    例如,遍历文件夹中的所有文件,对每个文件的每一行进行字符串处理。 5. **变量和通配符**: 批处理文件支持变量和通配符。变量用`SET`命令定义,如`SET var=值`,通配符如`*`和`?`用于匹配多个字符或单个字符。 ...

    把字符串“ABCE”写入ha.txt文件中的程序

    其次,字符串处理是编程中另一个关键的概念。字符串是包含零个或多个字符的数据类型,通常用于表示文本。将字符串“ABCE”写入文件,我们需要先创建这个字符串,然后将其传递给写文件的函数。在大多数语言中,可以...

    汇编语言查找匹配字符串.zip

    1. **字符串处理**:在汇编语言中,处理字符串通常涉及到对内存中的字符数组进行操作。这可能包括读取用户输入、比较字符、以及查找特定序列等操作。 2. **循环结构**:为了遍历整个句子,我们需要使用循环结构,如...

    汇编语言统计字符串中空格数

    5. **字符串处理**:`dispmsg` 宏被调用来显示字符串 `STR`。然后,`cx` 初始化为零,`dx` 被设置为字符串的长度,`bx` 设置为字符串的地址,这些值用于遍历字符串。 6. **循环结构**:`cont` 循环遍历字符串,逐个...

    BAT批处理脚本-文本操作-字符串处理.zip

    本压缩包“BAT批处理脚本-文本操作-字符串处理.zip”专注于批处理脚本中的字符串处理技巧,这对于日常的系统管理和自动化任务来说至关重要。 批处理脚本是基于DOS命令行环境的,通过编写简单的文本文件,我们可以...

    关于字符串的简单功能实现

    本课程设计通过实现对字符串的五项基本功能操作,不仅让学生掌握了DOS功能调用、缓冲区使用和模块化编程等核心技能,而且还深入理解了如何使用汇编语言处理字符串数据。这些技能对于进一步学习更高级的编程概念和...

    字符串匹配程序

    根据给定的信息,我们可以从以下几个方面来解析与总结其中涉及的关键知识点: ### 一、字符串匹配的基本概念 ...这种类型的程序对于理解汇编语言的基础指令及其在字符串处理中的应用非常有帮助。

    8086对字符串的处理和显示

    将输出小写变大写大写变小写然后其他的都忽略

    汇编实现字符串排序

    总结来说,"汇编实现字符串排序"项目展示了如何在低级别语言中实现数据处理,通过理解和分析sort.asm代码,我们可以学习到汇编语言的控制流、内存操作以及字符串处理技巧。同时,这个项目也提供了一个实践和研究汇编...

    汇编语言查找匹配字符串

    在汇编语言中,查找匹配字符串是一个常见的任务,它涉及到字符串处理和循环控制的基本操作。实验二的主题是“查找匹配字符串”,目标是编写一个程序,该程序接收用户输入的关键字和句子,然后检查句子中是否包含...

    实验方法比较字符串sample.asm

    在这个实验中,我们关注的是如何用汇编语言来比较两个字符串。汇编语言程序通常由一系列指令组成,这些指令可以读取、处理和比较数据。 标题“实验方法比较字符串sample.asm”暗示我们要探讨的是一个用汇编语言编写...

Global site tag (gtag.js) - Google Analytics