2017-06-14 42 views
0

我正在使用dir \\pwdf1280\rep\"*.txt" /S搜索文件夹代表中的所有txt文件,并且我使用/S参数在子目录中搜索相同的问题,但问题是命令永远运行,我基本上写了一个Perl脚本,必须找到这些文件及其时间戳,是否有任何其他方法来解决这个问题,或者我可以改善改善上述命令如何递归搜索远程服务器中的文件

问题是dir命令我以上提到永远运行,不会显示rep's子目录中的文件,它只是显示rep目录中的文件, i want to search a file in the子目录

+1

请说明您的具体问题或添加更多的细节,以确切地突出你需要什么。 – 2017-06-14 09:17:33

+0

如果你正在步行目录树,那么......这将是缓慢的部分。但是,如果你想要熟练的话,可以看看'File :: Find :: Rule'。 – Sobrique

+0

@Sobrique我使用了'File :: Find :: Rule',函数是否将UNC路径作为参数 – PopCorn

回答

1

可能会加速进程的一种方法是使用PowerShell在远程计算机上运行目录搜索。

C:\src\powershell> type .\rc001.ps1 
Invoke-Command ` 
    -ComputerName 'pwdf1280' ` 
    -Command { Get-ChildItem '\\pwdf1280\rep' -Recurse -Filter '*.txt' } | 
    ForEach-Object { $_.FullName } 

然后,从一个cmd脚本运行:

C:\src\powershell> powershell -NoProfile -File .\rc001.ps1 

替代可能是运行远程使用从Sysinternals的psexec或从腻子plinkdir命令。

+0

我认为您问您是否可以使用'\\ pwdf1280 \ rep'作为Get-ChildItem的路径。是的你可以。尝试一下。 – lit

+0

是的,我试过了,但错误是它不存在 – PopCorn

+0

使用您的系统名称和目录路径。不要使用'lit'。 'Get-ChildItem'\\ pwdf1280 \ rep'-Recurse -Filter'* .txt'' – lit