-1

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

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 并且整个列表都会很好地填充,但是当我尝试使用排除标志时遇到错误(无论单个字符串还是多个字符串被“排除”,它仍然没有显示输出。

我进行了另一项测试,将“assets”文件夹复制到“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”文件夹中测试了同样的格式(如上所述),效果很好。感谢您一直以来的帮助。

4

2 回答 2

0

当路径中有特殊键时,请使用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"}


也许其他用户知道排除为什么不起作用。

于 2014-08-23T09:10:50.823 回答
0

您还可以将字符串包含在不会尝试扩展或解释字符串内容的单引号中。请注意,变量也不会扩展。

于 2014-08-23T18:54:08.940 回答