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

[文本处理] 批处理怎样输出文件的奇数列?

文件行数不定,列数不定,比如:
1 2 3 4 5
a b c

希望得到:
1 3 5
a c

演示一下(没有处理特殊字符):
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in (1.txt) do (
  4.     set num=0
  5.     set "str="
  6.     for %%j in (%%i) do (
  7.         set /a num+=1
  8.         set /a mod=!num!%%2
  9.         if !mod! equ 1 set /p str=%%j <nul
  10.     )
  11.     echo;!str!
  12. )
  13. pause
复制代码
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

  1. @echo off&setlocal enabledelayedexpansion&cd /d "%~dp0"
  2. for /f "delims=" %%i in (1.txt) do (
  3.   set "str="
  4.   set "f=1"
  5.   for  %%a in (%%i) do (
  6.     if defined f (set "str=!str! %%a" & set "f=") else (set "f=1")
  7.   )
  8.   echo;!str!
  9. )
  10. pause
复制代码

TOP

返回列表