2 или более цикла FOR в командной оболочке, объединяющих файл A line1 с файлом B line1, & c - PullRequest
0 голосов
/ 24 мая 2010

Я пытаюсь создать файл импорта ldif. У меня есть 2 файла, один с DN, а другой с employeeNumber, они совпадают по строке за строкой.

Вот код, который не работает:

@ echo on

:: Установить каталог ввода BATCH set batchdir = e: \ Meta

:: Установить входной файл, содержащий список серверов установить infile =% batchdir% \ DDNs3 set infile2 =% batchdir% \ DDNs4

:: Если существует, мы удаляем выходной файл Rm DDNs3.ldif

:: Для цикла ниже обрабатывать каждую строку в списке ввода. FOR / F "токены = * delims =" %% i IN (% infile%) do ( FOR / F "токены = * delims =" %% k IN (% infile2%) do ( Echo dn: %% i Echo changetype: изменить Эхо заменяет: employeeNumber Эхо employeeNumber: %% k ) ) >> DDNs3.ldif

Я пробовал несколько вариантов, в том числе:

:: Для цикла ниже обрабатывать каждую строку в списке ввода. FOR / F "токены = * delims =" %% i IN (% infile%) do ( Echo dn: %% i Echo changetype: изменить Эхо заменяет: employeeNumber FOR / F "токены = * delims =" %% k IN (% infile2%) do ( Эхо employeeNumber: %% k эхо. ) ) >> DDNs3.ldif

Ответы [ 2 ]

0 голосов
/ 25 мая 2010

Попробуйте инструмент Unix cat .

0 голосов
/ 24 мая 2010

Используйте 2 для циклов, которые зацикливаются на всех строках файла и записывают выходные данные в выходной файл с именем, например. ALL.TXT. Вместо того, чтобы просто писать каждую строку, добавьте к первой строке строки 0001A, 0002A, 0003A, ... (при условии, что файлы содержат менее 9999 строк, если они содержат больше строк, используйте больше «нулей»). Аналогичным образом добавьте в префикс строки второго файла 0001B, 0002B, 0003B и т. Д.

Затем используйте команду SORT для сортировки содержимого полученного файла.

Наконец, используйте цикл for, чтобы перебрать полученный файл и снова удалить первые символы из файла.

Я не знаю полного синтаксиса команды FOR, но этого трюка должно быть достаточно, чтобы помочь вам в дальнейшем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...