[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in (a.txt) do (
  4.     set str=%%~xi
  5.     echo,%%~ni!str:~1!
  6. )
  7. pause
复制代码
1

评分人数

TOP

回复 3# 5i365
为什么要合成一行呢,那样代码就会难懂。比如上面代码合成一行应当这样:
  1. @echo off&setlocal enabledelayedexpansion&(for /f "delims=" %%i in (a.txt) do set str=%%~xi&echo,%%~ni!str:~1!)&pause
复制代码
1

评分人数

    • KLL: 乐于助人技术 + 1

TOP

回复 5# 5i365
以前看过 CrLf 写的代码,有一些是写成一行的,为了弄懂代码表达的意思,花费了一些精力,没有专门研究过。
在介绍for循环的帖子http://bbs.bathome.net/thread-2189-1-1.html变量延迟一节中,有一句话是说批处理的执行过程的:自上而下,逐条执行。我觉得要充分理解,对于将代码合成一行是有很大的帮助的。
一般来说要将代码合成一行总是要用到变量延迟的,主要是for循环有时会出问题,注意从for开始直到结束需要整个语句用括号括起来,并与前后语句使用&连接。

TOP

返回列表