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


如果一个文件只有3行数字,这个代码会丢掉最后一行。比如:
1
2
3

TOP

回复 7# weichenxiehou


你自己试试呢,echo,%odd%>>new.txt这个不能把数字3写到文件里面吧?

TOP

回复 11# weichenxiehou


这样可以免去多余的空格:
>>new.txt echo,%odd%
echo>>new.txt,%odd%

TOP

回复 8# CrLf


向版主学习
能否讲解下为什么要用findstr呢,是为了兼容空行吗,但是空行跟下面的空字符串判断有冲突怎么办?还有setlocal+endlocal在这里是怎样工作的呢?
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f %%a in (a.txt) do (
  4.     setlocal
  5.     set /p a=
  6.     set /p b=
  7.     if "!b!" neq "" (
  8.         echo,!b!
  9.     )
  10.     if "!a!" neq "" (
  11.         echo,!a!
  12.     )
  13.     endlocal
  14. ))<a.txt
复制代码

TOP

回复 27# fanfande
  1. @echo off&setlocal enabledelayedexpansion
  2. md new
  3. set n=&set odd=
  4. (for /f "delims=" %%i in (a.txt) do (
  5.   set/a n+=1,m=n%%2
  6.   if !m! equ 1 (set "odd=%%i") else echo,%%i&echo,!odd!
  7. ))>new\result.txt
  8. if %m% equ 1 echo,%odd% >>new\result.txt
复制代码

TOP

返回列表