批量回应从横向到横向

时间:2013-07-10 20:49:40

标签: windows batch-file scripting

我有以下问题:包含此近似信息的常规列表:

Computer1
DateImplemented
Computer2
DateImplemented
Computer3
DateImplemented
<this goes on for a while>

我想要它做什么:

Computer1,DateImplemented
Computer2,DateImplemented
<etc>

我一直在尝试一些方法,但我得到的唯一输出是:

Computer1
DateImplemented.

这将成为50-50个场景中的一个,其中解决方案非常简单或愚蠢。

提前谢谢!

2 个答案:

答案 0 :(得分:2)

也许是这样的事情?

@echo off
setlocal enableextensions enabledelayedexpansion
set LINENUM=0
set PREVLINE=
for /f "delims=" %%a in ('type list.txt') do (
  set /a LINENUM+=1
  set CURRLINE=%%a
  set /a REMAINDER=!LINENUM! %% 2
  if !REMAINDER! EQU 0 echo !PREVLINE!,!CURRLINE!
  set PREVLINE=!CURRLINE!
)
endlocal

(假设您的数据当然是在list.txt中)

答案 1 :(得分:1)

@echo off
setlocal EnableDelayedExpansion
set computer=
for /F "delims=" %%a in (list.txt) do (
   if not defined computer (
      set "computer=%%a"
   ) else (
      echo !computer!,%%a
      set computer=
   )
)

像往常一样,如果需要,可以修改此批处理文件以管理特殊的批处理字符。