我正在编写powershell脚本,但在计算布尔表达式时遇到了问题。
这是我遇到问题的代码行:
if (Get-Content .\Process2Periods.xmla | Select-String ((Get-Date) | Get-Date -Format "yyyyMM") -quiet -ne True)
在尝试运行时,我会收到以下错误消息:
Select-String : A parameter cannot be found that matches parameter name 'ne'.
请帮我理解这个问题。
另外,对于一个小上下文,我正在
由于其他脚本环境的简单性,我惊讶地发现$lookfor的值在PowerShell管道:Cannot bind argument to parameter 'Pattern' because it is null.中丢失了。
也就是说,$infiles作为一个值是可用的,但是$lookfor在管道中丢失了。我怎么才能解决这个问题?我看过PowerShell文档,对于这个习惯于Unix和环境的人来说,这是非常令人困惑的。
$machine = "servername"
$lookfor = "magicstring"
$infiles = "
假设我有一个名为testfile.txt的测试文件,它包含以下行:
one (two) "three"
我想使用PowerShell来表示,如果整个字符串存在,那么将一行直接放在它下面,其值如下:
four (five) "six"
(请注意,它包括空格、括号和双引号。这是很重要的,因为我遇到的问题是我认为摆脱括号和双引号)。
因此,结果将是:
one (two) "three"
four (five) "six"
我认为最简单的方法是,如果找到了第一个字符串,将其替换为第一个字符串本身,新字符串将形成一个包含在同一命令中的新
这个问题更多的是关于我理解Powershell的对象,而不是解决这个实际的例子。我知道还有其他方法可以从字符串中分离出页码。
在我的示例中,我想通过访问管道模式匹配的对象匹配值来实现这一点。
# data
$headerString = 'BARTLETT-BEDGGOOD__PAGE_5 BEECH-BEST__PAGE_6'
# require the number of page only
$regexPageNum = '([0-9]$)'
# split the header string into two separate strings to a
我有一个powershell脚本(如下所示),它似乎可以工作,但每次运行时都会打印一个错误,我认为这可能会影响它的性能。为什么我会得到这个错误?
错误:
Move-Item : Cannot find path 'C:\Program Files (x86)\mailserver\mail\domain.com\user\inbox\201012090411577967.imap' because it does not exist.
At C:\scripts\findfiles.ps1:27 char:21
+ $list | foreach { mv <<&