[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
@ echo off&setlocal enabledelayedexpansion
set index=0
for /f %%i in (text.txt)do set /a index+=1&echo !index!|%%i
pause>nul

TOP

  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 编辑 ]
1

评分人数

TOP

高手云集啊!我还需要加紧追赶!

TOP

  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 编辑 ]
进步怎么这么慢呢?

TOP

答:
  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
复制代码


效果:
[attach]2724[/attach]

=========================
end;

TOP

  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 编辑 ]

TOP

  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 编辑 ]
only the strong survive!

TOP

@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
看得多说得多,远比不上写得多。

TOP

@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

TOP

  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
复制代码
我是一个新手.看到此签名的请发点教程我!!谢谢!!

TOP

悲剧啊,我这个代码哪错啦?老运行不了
  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
复制代码
[color=BLUE]一切只为了批处理&DOS[/color]

TOP

本帖最后由 无知小菜鸟 于 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
复制代码

TOP

回复 41# PCL505512957
应该是那个^|%%i的原因,5楼貌似发现了这个问题

TOP

  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
复制代码

TOP

  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
复制代码
学习中

TOP

返回列表