• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >DOS/BAT > BAT 参数去引号(各种去引号的奇葩方式)

BAT 参数去引号(各种去引号的奇葩方式)

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了bat 参数,bat85参数,bat 参数个数,bat输入参数,bat 传递参数到文件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

很多情况下,我们需要脱除一个字符串中可能会存在的引号,然后在加上自己的引 号使其中的特殊字符(命令连接符& 、| 、&&、||,命令行参数界定符Space 、tab 、 ; 、= ,字符化转义符^ 、" ,变量化转义符% 等)字符化,失去特定的作用,而作为 普通的字符成为字符串的一个组成部分。

  一、将字符串中的引号脱去的简单办法有三种,它们的功能相近,只是各自的使用 场合不同,可以处理大多数的情况。

  1-1 、如果字符串存在于命令行参数%1中,可以使用%~1 脱去第一对外侧引号,如 果没有外侧引号则字符串不变;

  1-2 、如果字符串存在于for 替代变量%%i 中,可以使用%%~i脱去第一对外侧引号, 如果没有外侧引号则字符串不变;

  1-3 、如果字符串存在于环境变量%temp%中,可以使用%temp:"=% 脱去其中所有的 引号,如果没有引号则字符串不变;

  1-4 、以上三种方案在某种程度上可以互相通用,因为它们作为变量的一种类型, 可以通过类似以下的代码或代码片断相互转移:

      1-4-1、for替代变量转命令行参数: call:DeQuote %%i       1-4-2、环境变量转命令行参数:call:DeQuote %temp%       1-4-3、命令行参数转for替代变量:for %%i in (%1) do ...       1-4-4、环境变量转for替代变量:for %%i in (%temp%) do ...       1-4-5、命令行参数转环境变量:set temp=%1       1-4-6、for替代变量转环境变量:for ... set temp=%%i

  二、如果字符串的引号分布情况很复杂,或者我们对被脱去引号的位置有特殊要求, 或者字符串中可能出现某些控制字符,则可以将字符串首先通过1-4 中的对应方法转存 至环境变量中,在使用以下方案或其组合进行处理:

  2-1 、可以使用set var=%var:~1%脱去环境变量var 串首的第一个引号,如果串首 不存在引号则第一个字符被脱去;

  2-2 、可以使用set %var:*"=% 脱去环境变量var 串首的第一个引号,如果串首不 存在引号则变量值不变;

  2-3 、可以使用set var=%var:~0,-1% 脱去环境变量var 串尾的最后一个引号,如 果串尾不存在引号则最后一个被脱去;

  2-4 、可以使用set "var=%var%脱去环境变量var 串尾的最后一个引号,如果串尾 不存在引号则环境变量被清空;

  2-5 、可以使用set var=%var:~1,-1% 脱去环境变量var 串最外侧的一对引号,如 果串外侧不存在引号则外侧一对字符被脱去;

  2-6 、可以使用%var:*"=set "var=%脱去环境变量var 串最外侧的一对引号,如果 串外侧不存在引号则出现语法错误;

  2-7 、可以使用set "var=%var:"=%"脱去环境变量var 串中可能出现的所有引号, 如果串外侧不出现引号则变量值不变;与1-3 不同的是,它容许字符串的匹配引号对内 出现特殊控制字符;

</div>

您可能想查找下面的文章:

  • BAT 参数去引号(各种去引号的奇葩方式)
  • bat 传递超过10个参数的情况

相关文章

  • 干掉进程并删除源文件的批处理bat代码
  • 用某行内容替换特定字符
  • cmd批处理转义字符%的详细解释
  • 将目录下的文件按扩展名分类的bat代码
  • 不错的winodws XP 优化处理文件
  • powercfg 命令 关闭显示器写法
  • Do All in Cmd Shell一切在命令行下完成第1/6页
  • 常用正则表达式与批注[收藏]
  • 屏蔽up键禁止游戏运行脚本分享
  • BAT批处理实现软件的自动安装(以搜狗拼音为例)

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Msd、Undelete命令的使用方法
    • 以后经常需要知道CMD/DOS下符号的作用参考,正好发现了这篇
    • 实现Win7系统快速一键切换用户的bat脚本
    • 批处理 API实现文件下载的代码第1/2页
    • IF-ERRORLEVEL使用方法
    • Ping命令详解 精简实用
    • DOS批处理脚本语言简介与详细说明
    • 自动改回主页的批处理文件
    • dos命令介绍
    • 超详细的CMD DOS下符号的作用参考第1/2页

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有