Powershell 如何循环文件并排除特定的文件类型

Powershell 如何循环文件并排除特定的文件类型,powershell,Powershell,因此,我对powershell开发和编写与zip文件一起工作的脚本还不熟悉。我可以很好地压缩文件夹中的所有内容,但我真正想做的是在目录中循环,如果有一个具有特定扩展名的文件,比如.txt,那么它就不会压缩该文件。我知道第三方扩展,但我不想依赖它们,因为我计划让其他人使用这些脚本 谢谢你的意见 没有必要“循环”任何东西;使用get childitem的-exclude参数排除扩展名为.txt的任何文件。然后将生成的文件集合传递给正在进行压缩的任何对象 get-childitem -Exclude

因此,我对powershell开发和编写与zip文件一起工作的脚本还不熟悉。我可以很好地压缩文件夹中的所有内容,但我真正想做的是在目录中循环,如果有一个具有特定扩展名的文件,比如.txt,那么它就不会压缩该文件。我知道第三方扩展,但我不想依赖它们,因为我计划让其他人使用这些脚本

谢谢你的意见

没有必要“循环”任何东西;使用
get childitem
-exclude
参数排除扩展名为
.txt
的任何文件。然后将生成的文件集合传递给正在进行压缩的任何对象

get-childitem -Exclude *.txt

因此,当我使用此方法并尝试通过createFromDirectory传递它(首先将其放入变量中)时,我会出错,说路径太长。这是有意义的,因为它试图将整个目录作为路径传递。是否有解决方法?createFromDirectory是否能够通过管道处理数据?还是一组对象?如果您需要这方面的帮助,您将不得不显示更多的代码,但这可能是一个单独的问题-您问了如何排除文件扩展名,这是我提供的答案。