[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
跟batman的速度比较还是比较差...
batman
20:42:17.31 20:42:17.35
小弟
20:43:02.04 20:43:02.09

TOP

  1. @echo off&SETLOCAL ENABLEDELAYEDEXPANSION&set "code=一 二 三 四 五"&set a=
  2. goto :main
  3. :head
  4. set str=%1
  5. set /a a+=1
  6. for /f "tokens=%a% delims= " %%b in ("%code%") do (
  7. set str%a%=!str:%a%=%%b!
  8. set str%a%=!str%a%::=┃!)
  9. goto :eof
  10. :main
  11. for /f "delims=" %%a in ('findstr/n . a.txt') do (call :head %%a)
  12. for /l %%b in (1 1 5) do (echo. !str%%b!)
  13. pause
复制代码
不知道合要求不?
1

评分人数

TOP

适用于1-99行的:
  1. @echo off&setlocal enabledelayedexpansion
  2. set "str=一 二 三 四 五 六 七 八 九 十"
  3. for %%i in (%str%) do set /a n+=1&set "_!n!=%%i"
  4. for /f "tokens=1* delims=:" %%i in ('findstr /n .* a.txt') do (
  5.      set "a=%%i"
  6.      if "!a:~1!" equ "" (
  7.         echo !_%%i!行 %%j
  8.         ) else (
  9.         call,echo %%_!a:~,1!%%十%%_!a:~1!%%行 %%j
  10.      )
  11. )
  12. pause>nul
复制代码

同理可写适于1-999行,1-9999行,1-9.........9行,只要再设置个变量set "var=十 百 千 万...."
1

评分人数

    • wxcute: 管理员也来拿分吗 -_-'''PB + 1
***共同提高***

TOP

回复 6楼 的帖子

是,如果未知多少行,不知要难多少倍了。
心绪平和,眼藏静谧。

TOP

  1. @echo off
  2. set "var="
  3. setlocal enabledelayedexpansion
  4. for %%i in (一 二 三 四 五) do (
  5. set /a var+=1
  6. set ,!var!=%%i
  7. )
  8. set "var="
  9. for /f "eol= delims=" %%a in (a.txt) do (
  10. call :sub %%a
  11. )
  12. pause>nul
  13. exit
  14. :sub
  15. set /a var+=1
  16. echo !,%var%!┃%1
  17. goto :eof
复制代码

[ 本帖最后由 mingming1205 于 2008-11-17 16:31 编辑 ]
1

评分人数

TOP

回复 4楼 的帖子

总在 10 行之内吧,暂不考虑过多行数的。

TOP

看错了,|和┃不一样啊!
粗的┃情况:
  1. @echo off&setlocal enabledelayedexpansion
  2. set "head=一二三四五"
  3. set /a num=0
  4. for /f  %%i in (a.txt) do (
  5.    call echo %%head:~!num!,1%%┃%%i
  6.    set /a num+=1
  7. )
  8. pause
复制代码
"或"字符|:
  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!,1%%<nul
  6.    set /p=^|%%i<nul
  7.    echo.
  8.    set /a num+=1
  9. )
  10. pause>nul
复制代码

[ 本帖最后由 lhjoanna 于 2008-11-17 20:39 编辑 ]
2

评分人数

TOP

a.txt中内容是固定的、总在10行之内?还是未知多少行呢?
心绪平和,眼藏静谧。

TOP

回复 2楼 的帖子

小心我扣你分 ^_^ 。代码括起来也用错了,应该是 code

是要通过批处理读取 a.txt 文件。

[ 本帖最后由 wxcute 于 2008-11-17 11:08 编辑 ]

TOP

我不知道是不是这样啊。

  1. @echo off
  2. @echo 一┃要怎么学好批处理?
  3. @echo 二┃可潜水看帖,静静研究;
  4. @echo 三┃可看教程做习题,然后解决实际的问题;
  5. @echo 四┃也可二者并用取其优,当然还有其他方法。
  6. @echo 五┃你是怎么做的呢
  7. pause
复制代码
1

评分人数

    • wxcute: 投机取巧,以后同者不得分,\code 应为 /c ...PB + 1

TOP

返回列表