小编Ryn*_*ant的帖子

在powershell 3中为json做好准备

给定一个标准的json字符串值:

$jsonString = '{ "baz": "quuz", "cow": [ "moo", "cud" ], "foo": "bar" }'
Run Code Online (Sandbox Code Playgroud)

如何才能让这一切变得非常漂亮,最好不要使用暴力正则表达式?

到目前为止我发现的最简单的方法是:

$jsonString | ConvertFrom-Json | ConvertTo-Json 
Run Code Online (Sandbox Code Playgroud)

然而,这似乎有点傻.

powershell json powershell-3.0

23
推荐指数
4
解决办法
2万
查看次数

Select-Object如何在PowerShell v3中停止管道?

在PowerShell v2中,以下行:

1..3| foreach { Write-Host "Value : $_"; $_ }| select -First 1
Run Code Online (Sandbox Code Playgroud)

会显示:

Value : 1
1
Value : 2
Value : 3
Run Code Online (Sandbox Code Playgroud)

因为所有元素都被推下了管道.但是,在v3中,上面的行仅显示:

Value : 1
1
Run Code Online (Sandbox Code Playgroud)

管道在2和3发送之前停止Foreach-Object(注意:-Wait开关Select-Object允许所有元素到达foreach块).

如何Select-Object停止管道,我现在可以从一个foreach或从我自己的函数中停止管道?

编辑:我知道我可以在do ... while循环中包装一个管道并继续管道.我还发现在v3中我可以做这样的事情(它在v2中不起作用):

function Start-Enumerate ($array) {
    do{ $array } while($false)  
}

Start-Enumerate (1..3)| foreach {if($_ -ge 2){break};$_}; 'V2 Will Not Get Here'
Run Code Online (Sandbox Code Playgroud)

但是Select-Object不需要这些技术中的任何一种,所以我希望有一种方法可以从管道中的单个点停止管道.

powershell powershell-3.0

10
推荐指数
1
解决办法
5610
查看次数

我应该如何在同一路径中控制(排序)不相关的脚本?

我已经开始使用版本控制来更好地管理我的PowerShell代码的修订版.我决定使用Mercurial有三个主要原因:

  1. 作为DVCS,它不需要服务器.
  2. 如果我愿意,我可以免费在线存储私人存储库(bitbucket.org)
  3. 使用它似乎比Git更简单.

Mercurial适用于版本化PowerShell模块,因为每个模块都包含在自己的目录中.但是,我有一些不属于模块的脚本,但我仍然希望对它们进行版本控制.这些脚本位于添加的".\ Scripts"目录中,$env:PATH因此我可以从命令行轻松运行它们.由于这些脚本并不真正相互关联,因此为Scripts目录创建单个存储库没有多大意义.

我该如何编写单个脚本?

我想到了以下几种选择:

  • 为每个脚本/相关脚本创建子目录.
  • 使用临时存储库,直到脚本"稳定",然后将脚本添加到主"Scripts"目录,并将脚本集合版本化为一个.这将减少引入"Scripts"存储库的更改集的数量.

有没有更好的处理单个文件版本的工具?使用Mercurial版本化单个文件有更好的方法吗?还有其他想法吗?

git version-control powershell mercurial dvcs

6
推荐指数
1
解决办法
3101
查看次数

在Ejabberd创建多用户聊天室

到目前为止,我已经成功安装了ejabberd并注册了两个用户进行一对一的聊天.在客户端我使用了strophe并且正常工作与一对一聊天.现在我正在进行多用户聊天,并且必须创建有限用户的聊天室才能访问这个房间.创建MUC的程序是什么?是否有任何命令行界面,如"注册用户名主机名密码",如创建用户.

请帮助我,因为没有适当的ejabberd文档,请建议任何有关创建多用户聊天的好教程.

php ejabberd

6
推荐指数
1
解决办法
1万
查看次数

如何使用Powershell对excel列进行排序

我需要对excel电子表格进行排序,将一列列为升序数,以便1,2,3,4,5 ......

有没有人知道在PowerShell中对excel列进行排序的快速而肮脏的方法?

powershell

1
推荐指数
1
解决办法
9576
查看次数