|
本帖最后由 dos时代菜鸟 于 2021-7-17 23:38 编辑
这就是 传说中 获取 某行文字中某个单词的 古老命题。
最后一个 ,属于特例,容易些,否则就需要做个 计数器。
- @echo off
- rem 获取某字符串特定位置单词内容,第一个参数为 位置,以后为字符串内容
- rem 如: strings-1 5 ab cd ef gh ij kl mn ,将得到 ij
- rem strings-1 -1 ab cd ef gh ij kl mn ,将得到 mn
- setlocal EnableDelayedExpansion
- call :n_str %*
- if %1 gtr 0 (set /a x=%1)
- if %1 lss 0 (set /a x=!n!+%1+1)
- for /l %%c in (1,1,!n!) do (
- if !x! equ %%c echo %1 = [!str%%c!]
- )
- pause
- goto:eof
- :n_str
- set n=0
- :loop
- if not "%~2"=="" (
- set /a n=!n!+1
- set str!n!=%2
- shift /2
- goto loop
- )
- exit /b
复制代码
|
|