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

[ 新手习题 6 ] 批处理添加汉字行号

[复制链接]
发表于 2009-11-27 15:24:28 | 显示全部楼层
@ echo off&setlocal enabledelayedexpansion
set index=0
for /f %%i in (text.txt)do set /a index+=1&echo !index!|%%i
pause>nul
发表于 2010-1-29 08:04:57 | 显示全部楼层
  1. @echo off & setlocal EnableDelayedExpansion
  2. set "a= 一二三四五"
  3. for /f "delims=" %%i in (2.txt) do (
  4.         set /a "num+=1"
  5.         set "wind!num!=%%i"
  6. )
  7. for /l %%j in (1,1,5) do (
  8.         set "b=!wind%%j!"
  9.         set "c=!a:~%%j,1!"
  10.         echo !c!┃!b!
  11. )
  12. pause>nul
复制代码

十五楼的代码简洁,很巧妙。学习了....

[ 本帖最后由 wgoxm521 于 2010-1-29 08:07 编辑 ]

评分

参与人数 1PB +5 收起 理由
wxcute + 5 很不错阿。

查看全部评分

发表于 2010-1-29 11:17:54 | 显示全部楼层
高手云集啊!我还需要加紧追赶!
发表于 2010-7-4 12:35:09 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "str=一┃二┃三┃四┃五┃"
  4. set /a num=0
  5. for /f "delims=" %%a in (a.txt) do (
  6.     call set new=%%str:~!num!,2%%
  7.     set /a num+=2
  8.     echo !new!%%a
  9. )
  10. pause
复制代码
对call 的用法还不是很明白。==#。

[ 本帖最后由 gxuan2008 于 2010-7-4 14:52 编辑 ]
发表于 2010-7-18 19:40:52 | 显示全部楼层
答:

  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. set str=一二三四五六七八九十
  4. set /a a=0
  5. for /f %%i in (a.txt) do (
  6.    call echo %%str:~!a!,1%%┃%%i
  7.    set /a a+=1
  8. )
  9. pause
复制代码


效果:


=========================
end;
发表于 2010-7-28 21:45:42 | 显示全部楼层
  1. @echo off&setlocal enabledelayedexpansion
  2. Title 未完整板        →ψ疯行天魔Ф
  3. set "ψ=零 一 二 三 四 五 六 七 八 九"
  4. for /f "tokens=1,* delims=:" %%a in ('findstr /n .* "a.txt"') do (
  5. set "Ф=%%a"
  6. set ФФ=0
  7. for %%c in (%ψ%) do (
  8. call set Ф=%%Ф:!ФФ!=%%c%%
  9. set /a ФФ+=1
  10. )
  11. echo !Ф!┃%%b)
  12. pause
复制代码


[ 本帖最后由 qq106942397 于 2010-7-28 21:48 编辑 ]
发表于 2011-1-1 00:05:35 | 显示全部楼层
  1. @echo off
  2. for /f "tokens=1,* delims=:" %%a in ('findstr /n .* a.txt') do (
  3. if "%%a"=="1" echo 一│%%b
  4. if "%%a"=="2" echo 二│%%b
  5. if "%%a"=="3" echo 三│%%b
  6. if "%%a"=="4" echo 四│%%b
  7. if "%%a"=="5" echo 五│%%b
  8. )
  9. pause>nul
复制代码

[ 本帖最后由 vincentzhou 于 2011-1-1 00:07 编辑 ]
发表于 2011-1-4 16:31:12 | 显示全部楼层
@echo off
setlocal enabledelayedexpansion
set str=一二三四五
set m=0
for /f "delims=" %%i in (a.txt) do (
for %%j in (!m!) do echo !str:~%%j,1!^|%%i&set /a m+=1
)
pause
发表于 2011-1-31 17:17:16 | 显示全部楼层
@echo off
setlocal EnableDelayedExpansion
for /f %%i in (1.txt) do (
set a=%%i
set b=!a:要=一┃要!
set c=!b:可=二┃可潜!
set e=!c:可看=三┃可看!
set f=!e:也=四┃也!
set g=!f:你=五┃你!
echo !g!
)
echo.
ECHO.
echo 好像有点勉强!!!!!!!~M_M~
pause
发表于 2011-5-28 18:33:44 | 显示全部楼层

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /a n=1
  4. set a= 一二三四五六七八九十

  5. for /f %%i in (1.txt) do (
  6. for %%c in (!n!) do set /p=!a:~%%c,1!^|%%i
  7. set /a n=!n!+1
  8. )
  9. pause >nul
复制代码
发表于 2011-8-16 23:41:25 | 显示全部楼层
悲剧啊,我这个代码哪错啦?老运行不了
  1. @if not defined debug @echo off&setlocal enabledelayedexpansion
  2. set ",=一二三四五" num=
  3. for /f %%i in (a.txt) do (
  4. call echo %%,:~!num!,1%%^|%%i
  5. set /a num+=1
  6. )
  7. pause >nul
复制代码
发表于 2012-8-31 15:13:01 | 显示全部楼层
本帖最后由 无知小菜鸟 于 2012-8-31 15:15 编辑

看了这道题,和5楼的回答,我看了很久的set教程,终于明白了那句set的作用,是选取head中第%num%开始的2个字符串

  1. @echo off&setlocal enabledelayedexpansion
  2. set "head=一|二|三|四|五|"
  3. set /a num=0
  4. for /f  %%i in (a.txt) do (
  5.    call set /p=%%head:~!num!,2%%<nul
  6.    set /p=%%i<nul
  7. echo.
  8.    set /a num+=2
  9. )
  10. pause>nul
复制代码
发表于 2012-8-31 15:34:56 | 显示全部楼层
回复 41# PCL505512957
应该是那个^|%%i的原因,5楼貌似发现了这个问题
发表于 2013-1-16 16:23:19 | 显示全部楼层
  1. @echo off & setlocal enabledelayedexpansion
  2. set var=一二三四五
  3. for /F %%i in (a.txt) do (
  4.     echo !var:~0,1!^|%%i
  5.      set var=!var:~1!
  6. )
  7. pause>nul

复制代码
发表于 2013-12-9 19:37:02 | 显示全部楼层
  1. @echo off&setlocal enabledelayedexpansion
  2. echo 要怎么学好批处理?>a.txt       
  3. echo 可潜水看帖,静静研究;>>a.txt
  4. echo 可看教程做习题,然后解决实际的问题;>>a.txt
  5. echo 也可二者并用取其优,当然还有其他方法。>>a.txt
  6. echo 你是怎么做的呢?>>a.txt
  7. set shu= 一二三四五
  8. for /f "tokens=* delims=" %%i in (a.txt) do (
  9.         set str=%%i
  10.         set /a n+=1
  11.         call echo %%shu:~!n!,1%%┃!str!
  12. )
  13. del a.txt
  14. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 02:10 , Processed in 0.019461 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表