我有一个写主机行,我想在其中执行命令,因此输出将插入到写主机字符串的中间。
基本上我有一个 txt 文件,其中保存一组脚本的配置数据,其中一个配置是日期和时间的格式。例如,年份格式的配置为“YYYY”,并将其写入$Year。
所以我想做的是这样的:
Write-Host "The year is " Get-Date -Format $Year.ToLower()
Run Code Online (Sandbox Code Playgroud)
运行时我期望在屏幕上看到的是
The year is 2019
Run Code Online (Sandbox Code Playgroud)
现在我知道我可以用这个逻辑声明另一个变量,然后......
Write-Host "The year is $NewVariable"
Run Code Online (Sandbox Code Playgroud)
...但我希望不要创建另一个变量。这是我的票据的一个简单的例子,所以如果我这么做的话,我会创建很多变量。请注意,我使用 .ToLower() 来补偿用户在配置文本文件中的输入。
我有一个 .txt 文件,系统将主机名写入其中;IPv4 地址或计算机名称,视具体情况而定。为了帮助解析文件,系统将 IP 地址或主机名放在方括号内。
例子:some text [192.168.1.1] some text
现在我想使用以下命令从文件中提取 IP 地址或计算机名称:
Get-Content -Path .\somefile.txt | Where-Object {$_ -match "[*]"}
但是当我运行这个时,我什么也没得到(我认为由于通配符和 -match,可能需要使用 -like?)
然后,如果我尝试只使用一个方括号:
Get-Content -Path .\somefile.txt | Where-Object {$_ -match "["}
我收到以下错误:
parsing "[" = Unterminated [] set.
有任何想法吗?我是否遇到了带有方括号的 PowerShell 限制,只需要选择不同的字符来帮助解析?建议?