标题: [文本处理] 批处理如何显示文本每行的第一个字符? [打印本页]
作者: netdzb 时间: 2019-8-15 21:56 标题: 批处理如何显示文本每行的第一个字符?
自己写的批处理还是不行- REM 显示文本的第一个字符
- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in (test.txt) do (
- set aa=%%i:~0,1%
- echo %aa%
- )
- pause
复制代码
test.txt内容如下:
PROJECT(Hello)
ADD_EXECUTABLE(Hello Hello.c)
希望得到运行结果是
P
A
作者: netdzb 时间: 2019-8-15 22:14
回复 1# netdzb
参考坛子里的代码,修改了一下,运行结果还是不对。
REM 显示文本的第一个字符
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in (test.txt) do (
set aa=%%i
set bb=%aa:~0,1%
echo %bb%
)
pause
作者: 窄口牛 时间: 2019-8-15 22:15
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in (test.txt) do (
set aa=%%i
echo !aa:~,1!
)
pause
作者: Batcher 时间: 2019-8-15 22:16
回复 1# netdzb - @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in (test.txt) do (
- set aa=%%i
- echo !aa:~0,1!
- )
- pause
复制代码
作者: netdzb 时间: 2019-8-15 22:39
回复 4# Batcher
谢谢,我也刚调通
我的代码也贴一下,好像写的比你的啰嗦。
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in (test.txt) do (
set a=%%i
set tp=!a:~0,1!
echo.!tp!
)
pause
作者: impk 时间: 2019-8-16 10:18
- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ( test.txt ) do ( set a=%%i && echo !a:~0,1! )
- pause
复制代码
作者: lihui612ld 时间: 2019-8-17 21:24
回复 4# Batcher
请问有没有对字符串操作这方面的教程啊,a:~0,1这个应该怎么理解啊
作者: hlzj88 时间: 2019-8-18 07:13
回复 7# lihui612ld
a:~0,1的理解 从0位置开始按顺序获得1个字符,即你要求的每行第一个字
a:~5,2的理解 从第5个字符位置开始按顺序获得2个字符。
作者: lihui612ld 时间: 2019-8-18 09:51
回复 8# hlzj88
多谢回答,我懂了,谢谢
作者: Batcher 时间: 2019-8-18 17:10
回复 7# lihui612ld
看看set命令教程
http://bbs.bathome.net/thread-31727-1-1.html
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |