从参数/字符串中检索第一个字符

时间:2017-05-18 07:57:16

标签: batch-file

所以我要做的就是在参数中删除字符串中的每个字符,除了第一个字符。

This is the closest I've found so far 但它的工作方式不同。

C:\vbackup.bat test e: c:\temp

@echo off

IF /I NOT "%2" == "c:" (
    :echo %%2:~0,1%     // I personally prefer this since it will only be used once

    :: Test
    SET var=%2
    SET var2=%var:~0,1%
    CALL :show "0,1"
    echo.
    echo Backing up entire %2 to %3\%1

    echo.
    pause
    exit
)

:show
echo Test : var=%var% var2=%var2%
GOTO :eof

结果:

Test : var=e: var2=~0,1

1 个答案:

答案 0 :(得分:0)

这应该有效:

<强> something.bat:

@ECHO OFF
SETLOCAL EnableDelayedExpansion
:LOOP
IF NOT "%~1"=="" (
    SET firstChar=%1
    SET firstChar=!firstChar:~0,1!
    ECHO !firstChar!
    SHIFT
    GOTO LOOP
)

调用something.bat abc def ghi jkl将生成输出:

a
d
g
j

编辑:根据评论中的建议,将[%1]==[]替换为"%~1"==""