我正在运行我认为是一个相对简单的脚本:
$txtPath = "c:\users\xxxxxx\desktop\cgc\tx\"
$srcfiles = Get-ChildItem $txtPath -filter "*.txt*"
ForEach($txtfile in $srcfiles) {
Write-Host $txtfile
Get-Content $txtfile
}
我得到以下输出:
Automatic_Post-Call_Survey_-_BC,_CC.txt
Get-Content : Cannot find path 'C:\users\x46332\desktop\cgc\Automatic_Post-Call_Survey_-_BC,_CC.txt' because it does no
t exist.
At C:\users\x46332\desktop\cgc\testcount2.ps1:34 char:13
+ Get-Content <<<< $txtfile
+ CategoryInfo : ObjectNotFound: (C:\users\x46332...ey_-_BC,_CC.txt:String) [Get-Content], ItemNotFoundEx
ception
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand
这是Write-Host $txtfile
紧随其后的输出Get-Content $txtfile
,get-content
似乎是我问题的核心。
当我注释掉该Get-Content
行时,脚本会生成一个文件名列表到控制台。这向我表明,$txtPath
已正确定义。但是,我添加Get-Content
了相同的文件/相同的变量,并且由于某种原因,\tx
路径的一部分从搜索字符串中消失了。我的文件名打印出来了,但是Get-Content
找不到刚刚打印的文件名的路径。
我怀疑“目录不存在”错误并不是目录不存在。那我应该看什么?我的代码中没有太多空间可以隐藏错误,但我找不到它......想法?