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


    谢谢。现在还不会ps.如果有好的教程,请给推荐下

TOP

回复 15# changedirectory
C版 代码里字符难道给吃了 下面这个看得比较清楚了吧
文件少于10行 去文件最后行
  1. @echo off
  2. (for /l %%i in (1 1 10) do set/p line=)<a.txt
  3. echo %line%
  4. pause
复制代码
1

评分人数

TOP

回复 15# changedirectory


笔误漏了一个 &,已修改...
--------------------------------------------------------------
  1. set/p line=<a.txt
  2. rem 读 a.txt 第一行
  3. (set/p line=
  4. set/p line=)<a.txt
  5. rem 读 a.txt 第二行
复制代码
--------------------------------------------------------------
  1. (for /l (9 -1) do set "line="&set/p line=)<a.txt
复制代码
这里的 for /l (9 -1) do 是 for /l (9 -1 0) do 的简写,其效果等价于
  1. (for /l (1 1 10) do set "line="&set/p line=)<a.txt
复制代码
也就是循环十次,因为 set/p line= 接收到空行时不会修改 %line%,所以用 set "line=" 先将 line 设为空。
如果a.txt 前 10 行都不为空,则等价于
  1. (set/p line=
  2. set/p line=
  3. set/p line=
  4. set/p line=
  5. set/p line=
  6. set/p line=
  7. set/p line=
  8. set/p line=
  9. set/p line=
  10. set/p line=)<a.txt
复制代码
也就是依次读取 a.txt  的前十行
--------------------------------------------------------------
一般来说处理文件的时候,自己用的话最好的选择还是 gawk/sed/perl,给别人用建议用 vbs 或 js 或 bat+js,是最通用的方案且效率不低
win 下的 shell 本职不是处理文本,linux 军团才是这方面的专家
gawk 4.02  ----  156K
sed 4.2.2 ----  76K
perl 5.16.2  ----  (exe+dll = 393K+1339K)
1

评分人数

TOP

非常感谢所有人的回答!

TOP

返回列表