Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 搜索网络驱动器或UNC路径_Powershell - Fatal编程技术网

Powershell 搜索网络驱动器或UNC路径

Powershell 搜索网络驱动器或UNC路径,powershell,Powershell,我正在使用Powershell 5在文件夹中搜索最新的.bak文件 Get-ChildItem -Path $SourceBackupPath -Filter *.bak 如果我传入“C:\temp\”,这可以正常工作,但如果传入“E:\temp\”,则会出现错误: Get ChildItem:找不到驱动器。名为“E”的驱动器不存在 如果我传入UNC路径“\\MyServer\e$\Temp\”,我会得到错误: Get ChildItem:无法调用方法。提供程序不支持使用筛选器 您是否有可能使

我正在使用Powershell 5在文件夹中搜索最新的.bak文件

Get-ChildItem -Path $SourceBackupPath -Filter *.bak
如果我传入
“C:\temp\”
,这可以正常工作,但如果传入
“E:\temp\”
,则会出现错误:

Get ChildItem:找不到驱动器。名为“E”的驱动器不存在

如果我传入UNC路径
“\\MyServer\e$\Temp\”
,我会得到错误:

Get ChildItem:无法调用方法。提供程序不支持使用筛选器


您是否有可能使用SQLPS?如果是这样,请通过查看命令提示符检查您的工作目录。如果它看起来像这样:

PS SQLSERVER:\>

这意味着您正在从SQLPS提供程序的目录结构发出命令,默认情况下,该提供程序无法识别UNC路径。更多信息。

在你的第二次测试中,有UNC参考的测试,应该是“\\”而不是“\”——这只是一个打字错误吗?谢谢。看起来stackoverflow会将2个反斜杠转换为1。
Get ChildItem-Path$SourceBackupPath |其中对象{$\扩展名-eq'.bak'}
然后按日期排序,然后采用最新的方式,这是最直接的方法。但是,根据要搜索的文件和文件夹的数量,Get-ChildItem也可能很慢WWW,您可能希望挖掘到命令提示符“dir”、Robocopy、Windows搜索索引器、“everything”api等,以便更快地列出文件。Get-ChildItem-Path$SourceBackupPath |?{$\.Name-比如“*sometext*.bak”}——在本例中,星号是通配符,或者如果您擅长正则表达式:Get ChildItem-Path$SourceBackupPath |?{$\.Name-match'somestring\.bak$'}奇怪的是,我无法重新创建问题,我可以在任何具有筛选器的unc路径上获取childitem,没有问题<代码>获取子项-路径“\\server01\Shared$\test”-过滤器*.pdf