[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
能解释一下二楼代码中删除A文件最后一行的处理机制吗?谢谢!

TOP

没有删除,经常用“move 临时文件 目标文件”来达到“del 目标文件&ren 临时文件 目标文件”的效果,省时省力效果好。
zm900612 发表于 2011-3-31 15:35

回楼上的:
但是它在写入$这个文件时就己经是少了一行了,这是如何做到的?(我测试时有打开$这个文件看过)

TOP

哦,谢谢zm900612的耐心解答,但我貌似还不大明手白。
还有小声说一句,能不能换个头像?呵呵......

TOP

哦,了解。空行和特殊字符都可以处理吗?如果zm900612兄方便又有空的话,能否就修改一下,重新搞个代码?谢谢!

TOP

非常感谢!......

TOP

呵呵,我测试了一下,好像还是不能处理空行呀。我的是xp sp3

TOP

是否我方法不对?还是不能处理空格呀......

TOP

我用下面这段代码测试了一下
  1. @echo off&setlocal enableDelayedExpansion
  2. for /f "delims=" %%a in (A.txt) do (echo A的值是:%%a
  3.         if defined c echo;C的值是:!c!
  4. pause
  5.         set "c=%%a"
  6. )
  7. echo;C的值是:!c!
  8. pause
复制代码
才知道为什么可以做到少一行的效果。但是还不能处理空格。

TOP

不能排除空行是因为楼上把用于纠错的部分改没了:
...
     if defined c echo;C的值是:!c:~1!
...
        set "c=@%%a"
...
这样可以避免当%%a为空时,c变量被赋了空值
zm900612 发表于 2011-3-31 22:42

这个我知道,我测试空行时是直接复制你的代码的。呵呵......

TOP

返回列表