我尝试翻译格式如下的输入:abcd12-34defg
并将其翻译为:ab-cd-12-34-de-fg
我的代码:
@echo off
:start
set /p macid="please enter mac id:"
echo %macid%
goto start
当前输出:
please enter mac id: abcd12-34defg
abcd12-34defg
目标:
please enter mac id: abcd12-34defg
ab-cd-12-34-de-fg
答案 0 :(得分:0)
好吧,如果这是固定的输入格式,这将起作用:
@echo off
setlocal EnableDelayedExpansion
set /p macID="please enter mac id:"
call :print_token 0 2 -
call :print_token 2 2 -
call :print_token 4 2 -
call :print_token 7 2 -
call :print_token 9 2 -
call :print_token 11 2
goto :eof
:print_token
echo | set /p dummyVar=!macID:~%1,%2!%3
exit /b 0
关于echo | set /p dummyVar=
,它用于echo
值,没有换行符。请查看this以获取更多信息。
如果您希望使用非固定输入格式,则需要首先清除外部字符,然后像本示例中所示进行拆分。清除输入值后,您可以轻松地将call :print_token
序列转换为for循环,以提高清晰度。
示例运行:
please enter mac id:abcd12-34defg
ab-cd-12-34-de-fg