[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
再来段貌似高深的代码:
  1. @echo off
  2. for /f "delims=" %%. in (1.txt) do set "_=0"&set "..=%%."&call :{}
  3. for /l %%+ in (1,1,%_%) do call,echo.%%..%%+%%
  4. pause>nul&goto :eof
  5. :{}
  6. set "#=%..:~,1%"&call,set "..=%%..:~1%%"&set /a _+=1&call,set "..%_%=%%..%_%%%%#%"&if defined .. goto {}
复制代码


说明下:
       之所以写下这么一段怪异的代码,就是想告诉大家,只要你运用得得当,批处理真的是可以随心所欲地写,这也就
是其中乐趣所在了。。。

[ 本帖最后由 batman 于 2008-8-3 00:50 编辑 ]
3

评分人数

    • keen: 太高深了,看不懂,不过好像少了一行!PB + 6
    • tireless: 看你这代码真累,真的~_~PB + 1
    • ieutk: 看你这代码真累,真的~_~PB + 6
***共同提高***

TOP

先贴一种方案吧:
  1. @echo off&setlocal enabledelayedexpansion
  2. set "n=0"&set "m=0"
  3. :lp
  4. for /f "delims=" %%+ in (1.txt) do (
  5.     set /a x+=1&set "str=%%+"
  6.     if "!str:~%n%,1!" equ "" (
  7.        set /a m+=1
  8.        if !m! equ !x! pause>nul&goto :eof
  9.        ) else (
  10.        set /p=!str:~%n%,1!<nul
  11.     )
  12. )
  13. echo.&set /a n+=1,x=0&goto lp
复制代码
***共同提高***

TOP

4楼的代码够简洁,但仍不通用。
每行的字符数是未知的。
心绪平和,眼藏静谧。

TOP

@echo off&setlocal enabledelayedexpansion
for /l %%a in (0,1,10) do (
    for /f "delims=" %%i in (a.txt) do (
        set ke=%%i
        set /p=!ke:~%%a,1!<nul
    )
    echo.
)
pause
1

评分人数

TOP

我试了一下,这题能在5句之内解决。
心绪平和,眼藏静谧。

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /a num=-1
  4. :main
  5. set "ot="
  6. set /a num+=1
  7. for /f "delims=" %%a in (a.txt) do call :ie "%%a"
  8. echo.%ot%
  9. goto :main
  10. :ie
  11. set "var=%~1"
  12. if "!var:~%num%,1!"=="" (pause&exit)
  13. call,set "ot=!ot!%%var:~%num%,1%%"
  14. goto :eof
复制代码
1

评分人数

不大可能的事也许今天实现,根本不可能的事也许明天会实现

TOP

返回列表