我正在尝试编写我的第一个批处理文件,因此这是一个非常简单的问题: 我有一个文件(比如“myfile.txt”),其中包含10个不同行的城市名称。我想在命令提示符上一个一个地打印所有这些名字,但我唯一的限制是我不想要显示城市名字的前2个字母,我该怎么办?
我尝试使用似乎不起作用的代码:
for /F "eol=: tokens=1" %%G in (myfile.txt) do (
ECHO %%G:~2%
)
答案 0 :(得分:1)
您需要暂时将该行复制到变量中,然后获取该子串。此外,您还需要enabledelayedexpansion
并将标记更改为*(对于其中包含空格的城市)。如果您只想要城市输出,请关闭回声。
@echo off
setlocal enabledelayedexpansion
for /F "eol=: tokens=*" %%G in (myfile.txt) do (
set line=%%G
ECHO !line:~2!
)