在PowerShell中生成文本序列

时间:2009-12-16 09:10:28

标签: powershell

我只需要为一些测试目的生成一个很长的xml序列,很多元素 喜欢< hour> 2009.10.30.00< / hour>。

这让我进入了一个linux shell并运行

for day in $(seq -w 1 30) ; do  
  for hour in $(seq -w 0 23) ; 
    do echo "<hour>2009.10.$day.$hour</hour>" ; 
  done ; 
done >out

我如何在Windows上的PowerShell中做同样的事情?

2 个答案:

答案 0 :(得分:3)

非常相似...

$(foreach ($day in 1..30) {
    foreach ($hour in 0..23) {
        "<hour>2009.10.$day.$hour</hour>"
    }
}) > tmp.txt

添加了文件重定向。如果你熟悉bash,语法应该非常直观。

答案 1 :(得分:3)

如果我是脚本,我可能会采用orsogufo的方法来提高可读性。但是,如果我在交互式控制台上输入这个,我会使用管道方法 - 减少输入,它适合单行,例如:

1..30 | %{$day=$_;0..23} | %{"<hour>2009.10.$day.$_</hour>"} > tmp.txt