[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
悲剧啊,我这个代码哪错啦?老运行不了
  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

  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

@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

@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

  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

  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. 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
  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

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

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

@ 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
  2. setlocal enabledelayedexpansion
  3. set "number=一二三四五"
  4. for /f "tokens=*" %%a in (a.txt) do (
  5. set no=!number:~0,1!
  6. echo !no!^|%%a
  7. set number=!number:~1!
  8. )
  9. echo    按任意键退出!
  10. pause>nul
复制代码

TOP

@echo off
setlocal enabledelayedexpansion
set /a var=0
set list=一二三四五
for /f %%i in (a.txt) do (
   call echo %%list:~!var!,1%%┃%%i
   set /a var+=1
   )
pause>nul
%0

TOP

回复 27楼 的帖子

参考:批处理中的变量延迟扩展、变量嵌套
http://bbs.bathome.net/viewthread.php?tid=2899
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 15楼 的帖子

请问: call echo %%!num!┃%%i
!num!的前面为什么要加两个%%呢?不是用call调用时用%1,%2……表示吗??

TOP

返回列表