相关疑难解决方法(0)

如何从命令行使用参数启动存储在UNC共享中的程序?

我们使用的是内部程序,它存储在UNC共享中,以便更新透明.我想提供一些命令行参数,如下所示:

\\server\share\in_house_thingy.exe myusername mypassword
Run Code Online (Sandbox Code Playgroud)

但我似乎无法让它在CMD或PowerShell中工作或通过快捷方式工作.

有人有任何想法吗?

windows powershell shortcuts command-line

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

为什么PowerShell会自动展平数组?

我写了一些pwsh代码

"a:b;c:d;e:f".Split(";") | ForEach-Object { $_.Split(":") }
# => @(a, b, c, d, e, f)
Run Code Online (Sandbox Code Playgroud)

但是我想要这个

// in javascript
"a:b;c:d;e:f".split(";").map(str => str.split(":"))
[ [ 'a', 'b' ], [ 'c', 'd' ], [ 'e', 'f' ] ]
Run Code Online (Sandbox Code Playgroud)

嵌套数组

@(
    @(a, b),
    @(c, d),
    @(e, f),
)
Run Code Online (Sandbox Code Playgroud)

为什么?那我该怎么办

arrays powershell pipeline jagged-arrays

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

为什么要避免使用递增赋值运算符 (+=) 来创建集合

StackOverflow 站点的问答中+=经常使用递增赋值运算符 ( )[PowerShell]来构造集合对象,例如:

$Collection = @()
1..$Size | ForEach-Object {
    $Collection += [PSCustomObject]@{Index = $_; Name = "Name$_"}
}
Run Code Online (Sandbox Code Playgroud)

然而,它似乎是一种非常低效的操作。

一般情况下,+=在 PowerShell 中构建对象集合时应该避免使用递增赋值运算符 ( ) 是否可以?

collections powershell variable-assignment operator-keyword

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

提高PowerShell脚本的效率

下面的代码从list.txt文件中搜索400多个数字,以查看它是否存在于指定的文件夹路径中的任何文件中.

该脚本非常慢并且尚未完成,因为它在运行25分钟后没有完成.我们正在搜索的文件夹是507 MB(532,369,408字节),它包含1,119个文件480个文件夹.任何有助于提高搜索速度和效率的帮助都非常感谢.

$searchWords = (gc 'C:\temp\list.txt') -split ','
$results = @()
Foreach ($sw in $searchWords)
{
    $files = gci -path 'C:\Users\david.craven\Dropbox\Asset Tagging\_SJC Warehouse_\_Project Completed_\2018\A*' -filter "*$sw*" -recurse

    foreach ($file in $files)
    {
        $object = New-Object System.Object
        $object | Add-Member -Type NoteProperty –Name SearchWord –Value $sw
        $object | Add-Member -Type NoteProperty –Name FoundFile –Value $file.FullName
        $results += $object
    }

}

$results | Export-Csv C:\temp\output.csv -NoTypeInformation
Run Code Online (Sandbox Code Playgroud)

powershell performance coding-efficiency

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

Powershell ArrayList将单个数组项转换回字符串

我有一个powershell脚本,它根据给定目录中文件夹的名称生成一个ArrayList.因此,如果目录如下所示:

C:\目录\一

C:\目录\二

C:\目录\三

$ list是一个包含[One,Two,Three]的数组.该行如下:

[System.Collections.ArrayList]$list = (Get-ChildItem C:\Directory -dir).Name
Run Code Online (Sandbox Code Playgroud)

然后我可以遍历字符串数组并用它们做各种事情.但是,当目录中只有一个文件夹时,这将停止工作.它似乎不再是一个ArrayList而只是一个字符串.我收到以下错误:

Cannot convert the "Directory" value of type "System.String" to type "System.Collections.ArrayList"
Run Code Online (Sandbox Code Playgroud)

这可以做什么?我应该使用不同类型的数组吗?

powershell arraylist

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

Powershell 中的管道

我在about_Pipelines 上阅读了有关管道在 PowerShell 中的工作原理的信息,并了解到管道一次传送一个对象。

所以这

Get-Service | Format-Table -Property Name, DependentServices
Run Code Online (Sandbox Code Playgroud)

与此不同

Format-Table -InputObject (Get-Service) -Property Name, DependentServices
Run Code Online (Sandbox Code Playgroud)

所以在这里,按照解释,在第一种情况下,一次Format-Table在一个对象上工作,在第二个例子中,Format-Table工作在一个对象数组上。如果我错了,请纠正我。

如果是这种情况,那么我想知道Sort-Object需要处理数据集合的其他 cmdlet 是如何使用管道字符的。

当我做 :

Get-Service | Sort-Object
Run Code Online (Sandbox Code Playgroud)

Sort-Object如果它一次只处理一个对象,它如何能够排序。因此,假设有 100 个服务对象要传递给Sort-Object。会Sort-Object被调用 100 次(每次调用一个对象)?而且,这将如何产生我在屏幕上看到的排序结果。

powershell pipeline sort-object

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

"昂贵"在软件运营方面意味着什么?

操作的含义是昂贵的,或者资源在软件方面是昂贵的.当我遇到一些文档时,他们提到了像每次打开文件这样的事情是一个昂贵的操作.我可以有更多这样的例子(数据库连接是一个昂贵的操作,线程池是更便宜的,等等.).在什么基础上,它决定任务或操作是昂贵还是更便宜?当我们计算这个约束时要考虑什么?是基于时间吗?

注意:我已经在网上查了但是我没有得到任何好的解释.如果你发现和我分享,我可以关闭这个..

java resources

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