相关疑难解决方法(0)

如何在命令行上传递一系列值 - 将表达式作为参数传递

我有以下代码:

$srv_range = 29..30+40+50..52
$srv_range.GetType()
$NewVMTemplate = New-Object psobject
$NewVMTemplate | Add-Member -MemberType NoteProperty -Name Name -Value $null

$srv_range | % {
    $pod= $_
    $servers = @()
    1..2 | % {
        $server = $NewVMTemplate | Select-Object *
        $server.Name = "pod" + "{0:D2}" -f $pod + "-srv" + $_
        $servers += $server
    }
    ForEach ( $server in $servers) {
        write-host $server.Name
    }
} 
Run Code Online (Sandbox Code Playgroud)

输出:

PowerCLI C:\ .\eraseme.ps1

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     Object[]                                 System.Array
pod29-srv1
pod29-srv2 …
Run Code Online (Sandbox Code Playgroud)

syntax powershell command-line parsing parameter-passing

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

在 powershell 中生成 notepad++ 当要打开的文件中有空格时


$npp = "C:\Program Files\Notepad++\notepad++.exe";

$myfiles = @(
    "C:\bad boys\file1.txt",
    "C:\bad boys\file2.txt",
    "C:\bad boys\file3.txt"
)

foreach ($file in $myfiles) {
    Start-Process -FilePath $npp -ArgumentList "$file" -PassThru  -NoNewWindow | out-null
}
Run Code Online (Sandbox Code Playgroud)

这几乎有效...除了,它不会在记事本++中打开,因为它看到文件名中的空格并认为这是文件路径结束的地方...因此,我无法打开我的文件列表。有什么想法如何解决吗?相反,我得到的是 notepad++ 多次询问我是否要创建文件“C:\bad”

powershell

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