Hello Stack溢出社区,
此刻,我正在努力处理这段代码(不是那么漂亮):
console.log(true === 1 )
-> false
console.log(true === !0)
-> true === true
-> true
该代码有效。但我也收到一条错误消息:
您不能调用空值表达式
我该如何解决?
答案 0 :(得分:1)
Get-ChildItem
默认返回文件和文件夹。如果只需要文件,则应使用-File
。否则,您的$Files
也将包含文件夹(因为它们具有LastWriteTime
属性)。
如果您尝试在文件夹上运行.DirectoryName.Replace($filepath,"")
,它将返回诸如无法在$null
上运行替换的错误。
更新:对于PowerShell 2.0,您可以使用| where { ! $_.PSIsContainer }
(source)
在您的错误中,您可以看到哪条线坏了:
$NewPath = $File.DirectoryName.Replace($filepath,"")
解决此类情况所需要做的就是列出所有涉及的变量并检查其值。您可以这样:
$File
$File.DirectoryName
Pause
$NewPath = $File.DirectoryName.Replace($filepath,"")
使用Pause
可能会很有用,因为它会等您按 Enter 继续。