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

[文件操作] 【已解决】批处理中echo如何控制输出文本的格式

上次请高手编了一个批处理
  1. @echo off & setlocal enabledelayedexpansion
  2. set "table=abcdefghijklmnop"&set i=0
  3. echo ***********************
  4. for /r .\ %%a in (*.exe) do (
  5.         call set a=%%table:~!i!,1%%
  6.         set e!a!="%%a"
  7.         echo *   ^(!a!^)  %%~nxa  *
  8.         set /a i+=1
  9. )
  10. set eq=exit/b
  11. echo *   (q)  Exit         *
  12. echo ***********************
  13. set /p select=Plz choose:
  14. !e%select%!
  15. pause
复制代码
作用是遍历当前目录下的exe文件生成菜单以供调用
现在问题是这样的,生成的菜单:
  1. ***********************
  2. *   (a)  1.exe  *
  3. *   (b)  12.exe  *
  4. *   (c)  123.exe  *
  5. *   (d)  1234.exe  *
  6. *   (e)  12345.exe  *
  7. *   (q)  Exit         *
  8. ***********************
  9. Plz choose:
复制代码
但是我需要的是这样的效果:
  1. **********************
  2. *   (a)  1.exe       *
  3. *   (b)  12.exe      *
  4. *   (c)  123.exe     *
  5. *   (d)  1234.exe    *
  6. *   (e)  12345.exe   *
  7. *   (q)  Exit        *
  8. **********************
  9. Plz choose:
复制代码
问题在于文件名的长度不是一样的,
而且不能改名(改了名就不能运行)
请教知道的朋友要怎样解决?

[ 本帖最后由 sniperhgy 于 2009-1-25 18:23 编辑 ]

哭了,这位大哥实在是健谈啊,麻烦还是给出具体代码,谢谢了,我现在真是没有心情研究了,都快急晕了,根本静不下来

TOP

试了半天还是不行啊,麻烦知道的朋友告诉答案,谢谢了

TOP

同样谢谢defanive,老朋友了,一直都很热心
不过,defanive的代码有问题,不能实现补充
空格的功能


请教:
for /l %%a in (1,1,30) do (set k= !k!)
其中 set k= !k!起了什么作用?


echo *   ^(!a!^)  !temp:~0,30!  *
!temp:~0,30!呢?莫非是某种字符串截取的技术?


[ 本帖最后由 sniperhgy 于 2009-1-25 20:38 编辑 ]

TOP

谢谢523066680,你写的教程真棒,确实是循序渐进适合我这样的新手看

不过,
for /l %%a in (1,1,30) do (set k= !k!)
其中 set k= !k!起了什么作用?


[ 本帖最后由 sniperhgy 于 2009-1-25 21:47 编辑 ]

TOP

for /l %%a in (1,1,30) do (set k= !k!)
这个,知道是循环了30次,但是怎么就变成了每次加一个空格了呢?

TOP

返回列表