Powershell(v2)路径重音(转义字符)与Get ChildItem冲突

Powershell(v2)路径重音(转义字符)与Get ChildItem冲突,powershell,escaping,get-childitem,Powershell,Escaping,Get Childitem,我有一个朋友在我的电脑上放了一段视频。路径是 C:\Users\Me\Videos\Tonys Videos\Dinosaur [1080p]\ 恐龙电影文件夹中有一个“资产”文件夹,其中包含一些.gif、.jpg和.png文件。我想了解一下Powershell,所以我用 cd "C:\Users\Me\Videos\Tonys Videos\Dinosaur ``[1080p``]\assets" 特殊括号字符需要(`)&名为“Tonys Videos”的文件夹中空格的引号。我可以输入Ge

我有一个朋友在我的电脑上放了一段视频。路径是

C:\Users\Me\Videos\Tonys Videos\Dinosaur [1080p]\
恐龙电影文件夹中有一个“资产”文件夹,其中包含一些.gif、.jpg和.png文件。我想了解一下Powershell,所以我用

cd "C:\Users\Me\Videos\Tonys Videos\Dinosaur ``[1080p``]\assets"
特殊括号字符需要(`)&名为“Tonys Videos”的文件夹中空格的引号。我可以输入Get-ChildItem&整个列表将很好地填充,但是当我尝试使用exclude标志时遇到了错误(无论单个或多个字符串被“排除”,它仍然不会显示任何输出)

我运行了另一个测试,将“资产”文件夹复制到“Tonys Videos”(这样就可以省略严重的口音,一切都正常运行。我使用的是PS v2.0,但这确实不会有太大变化。我的问题是,“Get ChildItem-exclude”为什么不能与严重的口音一起工作

作为对评论的回应,这是我对Get ChildItem的尝试

Get-ChildItem "C:\Users\Me\Videos\Tonys Videos\Dinosaur ``[1080p``]\assets" -Exclude *.jpg,*png

我已经在“Tonys Videos”文件夹中测试了相同的格式(如上所述),效果很好。感谢您的持续帮助。

当路径中有特殊键时,请使用
Get ChildItem-LiteralPath“YourPath”
。使用
-LiteralPath
您不需要(`)。
排除项会写什么?

对我来说,这一条很有效:

Get-ChildItem -Path "C:\temp\``[TEST``]\*.*" -Exclude *.jpg,*.png

您需要可以排除某些内容的
\*.
。使用
Get ChildItem-LiteralPath
您不能使用
\*.


你能用这个吗?

Get-ChildItem -Path "C:\temp\``[TEST``]" | Where-Object -FilterScript {$_.Name -notlike "*.jpg" -and $_.Name -notlike "*.png"}


可能其他用户知道排除不起作用的原因。

您也可以将字符串包含在单引号中,这样就不会尝试展开或解释字符串内容。注意,变量也不会展开。

显示您尝试用于排除我使用的排除的代码-exclude.png.jpg一些字符串的文本路径reason没有考虑到-exclude标志(或者-exclude,如果有区别的话两者都尝试),我还将添加最后带有
*.
GCI-Path
选项,它不包括文件夹,只列出文件。将对象放入FilterScript中的管道实现了这一点。谢谢大家