批处理文件 - 多个空格的分隔符

时间:2014-07-31 23:00:43

标签: batch-file for-loop delimiter

我正在尝试从我拥有的txt文档中分离每个令牌,并回显每个单词。问题是每个令牌之间有不同的空格量。例如:

管理员____________用户1 ________________访客

“_”表示一个空格,例如。管理员和用户1之间有12个空格,用户1和gues之间有16个空格。

如果符合以下条件,我如何使用批处理脚本分别回显这些内容:

1)文件是“C:\ Usernames.txt” 2)它们都在txt文件的第一行

我试过了:

 FOR /F "delims=" %A IN (C:\Usernames.txt) DO ECHO %A

我得到的只是“管理员”的回应。任何帮助是极大的赞赏。谢谢!

编辑:

通过在f​​or循环中抛出for循环,我能够更接近一点。我的代码是

 FOR /F "delims=" %A IN (C:\Usernames.txt) DO FOR %B IN (%A) DO ECHO %B

这让我可以将它分成四部分,但我需要三部分。我得到了:

Administrator, User, 1, Guest

如何使用户和1加入为用户1?

1 个答案:

答案 0 :(得分:1)

这可能有效:它依赖于每个用户名之间至少有两个空格,并且没有用户名将包含两个连续的空格。

net user |find "  "|repl " {2,50}" "\r\n" x

这使用名为repl.bat的助手批处理文件(由dbenham提供) - 从以下网址下载:https://www.dropbox.com/s/qidqwztmetbvklt/repl.bat

repl.bat放在与批处理文件相同的文件夹中或放在路径上的文件夹中。