有没有人知道如何在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."
答案 0 :(得分:2)
~
修饰符将从参数中删除封闭引号。在命令提示符下键入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