字符串处理,push pop路径,组合命令,for


字符串处理
字符串截取、命令嵌套
命令格式:%变量名:~ m,n%,其中,m表示开始位置(默认开头),n表示从m位置开始向后截取的字符个数(默认到结尾),若n为负数则表示向前截取个数,作用:将命令中的某段字符截取,通过call将字符做为命令执行。
@echo off
set str1=aaa echo ok bbb
echo 初始字符串:%str1% ::aaa echo ok bbb
echo 生成命令字符串如下:
echo %str1:~4,7% ::echo ok
echo 运行命令字符串生成最终结果为:
call %str1:~4,7% ::ok
pause
字符串内字符替换
格式:set 变量名=%变量名:n=m%其中n表示原来字符串,m表示用来替换的新字符串;都不需要用引号包裹
set a="12344567"
echo %a% ::"12344567"
set a=%a:44=kmk%
echo %a% ::"123kmk567"
pause
字符串合并
格式:set str1=%str1%%str2%
截取字符串传入截取长度
参考下面的setlocal
直接 echo %args:~%num%,-5% 没办法想要的字符串,需要如下两步
setlocal enabledelayedexpansion ::设置变量延时有效
echo !args:~%num%,-5! ::变量使用!!包括,%num%变量传入
for循环使用
常使用的,其他查看手册
语法:
1) for {%variable | %%variable} in (set) do command [command-parameters] 其中,%variable 指定一个单一字母可替换的参数。变量名称是区分大小写的,所以 %i 不同于 %I 在批处理文件中使用 FOR 命令时,指定变量建议用 %%variable而不要用 %variable。(set) 指定一个或一组文件。可以使用通配符。
2) 如果命令扩展名被启用,下列额外的 FOR 命令格式会受到支持:
a.FOR /D %variable IN (set) DO command [command-parameters]
如果集里面包含通配符,则指定与目录名匹配,而不与文件名匹配。
b.FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]
检查以 [drive:]path 为根的目录树,指向每个目录中的FOR 语句。
如果在 /R 后没有指定目录,则使用当前目录。如果集仅为一个单点(.)字符,则枚举该目录树。
c.FOR /L %variable IN (start,step,end) DO command [command-parameters]
该集表示以增量形式从开始到结束的一个数字序列。
使用例子,
1. 如下命令行会显示当前目录下所有以bat或者txt为扩展名的文件名。
for %%c in (*.bat *.txt) do (echo %%c)
a. 如下命令行会显示当前目录下所有包含有 e 或者 i 的目录名。
for /D %%a in (*e* *i*) do echo %%a
b. 如下命令行会显示 E盘test目录 下所有以bat或者txt为扩展名的文件名。
for /R E:\test %%b in (*.txt *.bat) do echo %%b
for /r %%c in (*) do (echo %%c) :: 遍历当前目录下所有文件
c. 如下命令行将产生序列 1 2 3 4 5
for /L %%c in (1,1,5) do echo %%c
参考链接
https://blog.csdn.net/weixin_43794311/article/details/128275588
字符串处理,push pop路径,组合命令,for的更多相关文章
- [Linux]常用命令、组合命令以及输入输出重定向
[Linux]常用命令.组合命令以及输入输出重定向 2020-03-10阅读 1580 原创文章 文章目录 0.切换目录 1.复制文件和目录`cp` 1.1.复制文件 1.2.复制目录 1.3.扩 ...
- js中常用数组方法concat join push pop slice splice shift
javascript给我们很多常用的 数组方法,极大方便了我们做程序.下面我们来介绍下常用的集中数组方法. 比如 concat() join() push() pop() unshift() shif ...
- js 的数组怎么push一个对象. Js数组的操作push,pop,shift,unshift JavaScrip
push()函数用于向当前数组的添加一个或多个元素,并返回新的数组长度.新的元素将会依次添加到数组的末尾. 该函数属于Array对象,所有主流浏览器均支持该函数. 语法 array.push( ite ...
- MAC与windows下打开当前文件路径的命令行(终端)
MAC 下文件夹与终端: 1.打开当前路径的终端窗口方法: ①直接拖动要打开的文件夹到终端 ②打开finder的服务偏好设置, 勾选"新建位于文件夹位置的终端"选项, 以后可以在文 ...
- 字符串数组元素排列与组合的Java递归实现
我们在笔试面试过程中经常会遇到关于排列与组合的问题,其实这些可以通过递归简单的实现,看下面两个例子: (1)关于字符串排列的问题 输入一个字符串,打印出该字符串中字符的所有排列.例如输入字符串ab ...
- 数据结构---设计一个栈,push, pop, min 时间复杂度都是 O(1)
普通的栈,push, pop 操作的复杂度是 O(1), 但是如果要找出其中的最小值,则需要 O(N)的时间. 题目要求 min 复杂度也是 O(1), 做法便是 空间换时间,每一步栈的最小值都用一个 ...
- Delphi 获取进程路径及命令行参数
Delphi 获取进程路径及命令行参数, 但有的进程获取时会报错,不知为啥 type PVOID64 = UINT64; _UNICODE_STRING = packed record Length ...
- 从字符串总分离文件路径、命名、扩展名,Substring(),LastIndexOf()的使用;替换某一类字符串,Replace()的用法
一:从字符串总分离文件路径.命名.扩展名,上图 二:代码 using System; using System.Collections.Generic; using System.ComponentM ...
- 解决 iOS View Controller Push/Pop 时的黑影
那么如何解决这个问题呢? 实际上很简单,如果这个 ViewController 是在 TabBarViewController 的 NavigationController 上 Push/Pop 的, ...
- 汇编 push ,pop指令
知识点: PUSH POP CALL堆栈平衡 RETN指令 一.PUSH入栈指令 (压栈指令): 格式: PUSH 操作数 //sub esp,4 ;mov [esp],EBP 操作数 ...
随机推荐
- Java8新特性时间日期库
Java8新特性的功能已经更新了不少篇幅了,今天重点讲解时间日期库中DateTime相关处理.同样的,如果你现在依旧在项目中使用传统Date.Calendar和SimpleDateFormat等API ...
- biancheng-Python教程
目录http://c.biancheng.net/python/ 1Python编程基础2Python编程环境搭建3变量类型和运算符4列表.元组.字典和集合5Python字符串常用方法6Python流 ...
- Wgpu图文详解(05)纹理与绑定组
前言 什么是纹理? 纹理是图形渲染中用于增强几何图形视觉效果的一种资源.它是一个二维或三维的数据数组,通常包含颜色信息,但也可以包含其他类型的数据,如法线.高度.环境光遮蔽等.纹理的主要目的是为几何图 ...
- bat脚本(批处理程序)调用WinRAR及7zip压缩和解压缩
最近项目要用到定期批量将文件及文件夹下的文档打包,所以想到要写脚本来实现,然后做Windows定期任务调用.bat脚本(批处理程序)调用WinRAR及7zip压缩和解压缩. 调用WinRAR来实现 因 ...
- Linux:安装nodejs
yum安装 自带版本 yum install nodejs 但是版本很低[6.17.1] 高版本 参考:链接 1.删除旧版本 yum remove nodejs 2.添加Node.js Yum存储库 ...
- Java线程的创建和常见方法
1.线程,进程和管程 1.1线程(Thread) 定义:线程是操作系统中能够独立运行的最小单位,是进程的一个执行分支.一个进程可以包含多个线程,它们共享同一进程的资源(如内存和文件句柄). 特点: 线 ...
- 从拼积木到最长连续序列:一道别出心裁的数组题目|LeetCode 128 最长连续序列
LeetCode 128 最长连续序列 点此看全部题解 LeetCode必刷100题:一份来自面试官的算法地图(题解持续更新中) 生活中的算法 你小时候一定玩过数字积木吧?一堆写着不同数字的积木块散落 ...
- InfluxDB UI 设置保留策略
InfluxDB UI 设置保留策略 创建Bucket时设置保留策略 在InfluxDB 2.x的UI中创建Bucket时,你可以直接设置其保留策略.以下是一个基本的步骤指南: 登录到InfluxDB ...
- vue-element-template实现顶部菜单栏
一.框架侧边栏改为顶部导航栏 1.复制src/layout/componets/Sidebar所有文件至同级目录,改名为Headbar 2.src/layout/components/index.js ...
- 运行jar包时,在命令行中指定依赖的jar包和主类
在一次实验过程中,使用maven打包java项目为jar包,打出来的myexp.jar包只有7KB(我的实验项目正常打出来的包不小于60MB).这时,运行java -jar myexp.jar报错&q ...