我正在尝试构建一个ldif导入文件。我有2个文件,一个有DN,另一个有employeeNumber,它们匹配行的行。
这是不起作用的代码:
@echo on
::设置BATCH输入目录 设置batchdir = e:\ Meta
::设置包含服务器列表的输入文件 设置infile =%batchdir%\ DDNs3 设置infile2 =%batchdir%\ DDNs4
::如果存在,我们删除输出文件 Rm DDNs3.ldif
:: For循环下面处理输入列表中的每一行。 FOR / F“tokens = * delims =”%% i IN(%infile%)do( FOR / F“tokens = * delims =”%% k IN(%infile2%)do( Echo dn:%% i 回声改变类型:修改 回声替换:employeeNumber Echo employeeNumber:%% k ) )>> DDNs3.ldif
我尝试了几种变体,包括:
:: For循环下面处理输入列表中的每一行。 FOR / F“tokens = * delims =”%% i IN(%infile%)do( Echo dn:%% i 回声改变类型:修改 回声替换:employeeNumber FOR / F“tokens = * delims =”%% k IN(%infile2%)do( Echo employeeNumber:%% k 回声。 ) )>> DDNs3.ldif
答案 0 :(得分:0)
使用2循环遍历文件中的所有行,并将输出写入名为例如全部.txt。而不只是写每一行,在第一行的前缀为0001A,0002A,0003A,...(假设文件包含少于9999行,如果它们包含更多行,则使用更多'零')。同样,在第二个文件的行前面加上0001B,0002B,0003B等等。
然后使用SORT命令对生成的文件的内容进行排序。
最后,使用for循环遍历生成的文件并再次从文件中删除第一个字符。
我不知道FOR命令的完整语法,但这个技巧应该足以帮助你进一步。
答案 1 :(得分:0)
尝试Unix的cat工具。