尝试制作一个处理基诺数的脚本,以执行各种模式查找操作。
每行数据如下所示:
576186 15/9/2016 21:50 8 9 12 15 22 26 32 37 39 46 49 54 57 58 59 61 67 68 70 71
这是我的代码公然从stackoverflow上的另一篇文章中删除,但略有修改。
for /f "tokens=1 delims=" %%f in (Keno.txt) do (
set line=%%f
call :processToken
)
goto :eof
:processToken
for /f "tokens=1* delims= " %%a in ("%line%") do (
echo Got one token: %%a
set line=%%b
pause
)
if not "%line%" == "" (
goto :processToken
)
goto :eof
在我开始处理原始基诺数之前,我试图截断每行的前3个分隔符,但我无法使用~-4%
或%%f
上的%%a
函数进行截断正确地做到这一点。我已经尝试了各种明显的方法,例如通过set string=%%f
然后set string=%string:~-4
来实现这一点,但即使使用!!
或%%
个字符,这也不起作用。
任何知道怎么做的人?
我需要这个:
576186 15/9/2016 21:50 8 9 12 15 22 26 32 37 39 46 49 54 57 58 59 61 67 68 70 71
看起来像这样:
8 9 12 15 22 26 32 37 39 46 49 54 57 58 59 61 67 68 70 71
答案 0 :(得分:3)
试试这个:
@echo off
for /f "usebackq tokens=1* delims=:" %%a in ("keno.txt") do (
rem echo %%b
set "flag="
for %%# in (%%b) do (
if defined flag (
echo|set/p"=%%# "
) else (
set "flag=1"
)
)
)
编辑可能更容易:
for /f "usebackq tokens=3* delims= " %%a in ("keno.txt") do (
echo %%b
)