[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何显示文本每行的第一个字符?

自己写的批处理还是不行
  1. REM 显示文本的第一个字符
  2. @echo off
  3. setlocal enabledelayedexpansion
  4. for /f "delims=" %%i in (test.txt) do (
  5.     set aa=%%i:~0,1%
  6.     echo %aa%
  7. )
  8. pause
复制代码
test.txt内容如下:

PROJECT(Hello)
ADD_EXECUTABLE(Hello Hello.c)

希望得到运行结果是
P
A

回复 7# lihui612ld


看看set命令教程
http://bbs.bathome.net/thread-31727-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 8# hlzj88


    多谢回答,我懂了,谢谢

TOP

回复 7# lihui612ld
a:~0,1的理解 从0位置开始按顺序获得1个字符,即你要求的每行第一个字
a:~5,2的理解 从第5个字符位置开始按顺序获得2个字符。
目的,学习批处理

TOP

回复 4# Batcher


    请问有没有对字符串操作这方面的教程啊,a:~0,1这个应该怎么理解啊

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ( test.txt ) do ( set a=%%i && echo !a:~0,1! )
  4. pause
复制代码

TOP

回复 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

TOP

回复 1# netdzb
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in (test.txt) do (
  4.     set aa=%%i
  5.     echo !aa:~0,1!
  6. )
  7. pause
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in (test.txt) do (
    set aa=%%i
    echo !aa:~,1!
)
pause

TOP

回复 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

TOP

返回列表