【发布时间】:2015-03-13 14:38:24
【问题描述】:
@echo off
set hosts[1]=192.168.1.1
set hosts[2]=192.168.1.2
set hosts[3]=192.168.1.3
set hosts[4]=192.168.1.4
set hostcreds[1]=root:pw1!
set hostcreds[2]=root:pw2!
set hostcreds[3]=root:pw3!
set hostcreds[4]=root:pw4!
for /L %%a in (1,1,4) do (
CALL ECHO Host: %%hosts[%%a]%%>>file%%a.txt
for /F "tokens=1,2 delims=: " %%A in ("%%hostcreds[%%a]%%") do (
CALL ECHO User: %%A Pass: %%B>>file%%a.txt
)
)
输出是 4 个名为 file1 到 4.txt 的文本文件,内容为“Host: [host IP]”(行返回)“User: root:pw1 Pass:”,但我希望输出拆分“root” :pw1" 所以输出看起来像 "User: root Pass: pw1"。
为什么我的 for /F 没有将此数组元素拆分为 %%A 和 %%B?如果我删除数组元素并将其更改为纯文本,它会很好地分割。
【问题讨论】:
标签: arrays loops sorting batch-file for-loop