【问题标题】:Anyone know how to strip quote characters from a string in DOS batch script?任何人都知道如何从 DOS 批处理脚本中的字符串中去除引号字符?
【发布时间】:2012-11-02 17:32:47
【问题描述】:

有谁知道如何从 DOS 批处理脚本中的字符串中去除引号字符?使用字符串替换功能可以轻松去除字符,但去除引号(或感叹号)似乎有点困难。这是我正在尝试使用的测试脚本:

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
echo.
set "NAME=Izomorphius"
call :append NAME " is my dear friend."
echo Message: %NAME%
echo.
goto :end
:: Functions
:append @varname @value
IF NOT "%3"=="" (
  echo Too many arguments to function.
)
set vara=%1
set stra=%2
set stra=%stra:""=%
set "%1=!%1! %2"
exit /B 0
:end
pause

这是这个脚本的输出:

Message: Izomorphius " is my dear friend."

【问题讨论】:

    标签: dos cmd


    【解决方案1】:

    ~ 修饰符将从参数中删除封闭的引号。在命令提示符下键入 HELP CALL 以获取完整的修饰符列表。 FOR 变量也可以使用相同的修饰符。

    @echo off
    setlocal enableDelayedExpansion
    echo.
    set "NAME=Izomorphius"
    call :append NAME " is my dear friend."
    echo Message: %NAME%
    echo.
    goto :end
    
    :: Functions
    
    :append @varname @value
    IF NOT "%~3"=="" echo Too many arguments to function.
    set "%~1=!%~1! %~2"
    exit /B 0
    
    :end
    pause
    

    【讨论】:

    • 啊!我不敢相信我忽略了这一点。谢谢!
    猜你喜欢
    • 2010-10-22
    • 1970-01-01
    • 2011-01-15
    • 2014-03-13
    • 1970-01-01
    • 2011-03-14
    • 2014-09-15
    • 1970-01-01
    • 2016-05-06
    相关资源
    最近更新 更多