所以我要做的就是在参数中删除字符串中的每个字符,除了第一个字符。
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
答案 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"==""
。