Batch-File
批處理文件以循環遍歷文件夾並在找到特定文件時進行處理
我有大量執行相同 CMS 的網站,我想批量更新這些 CMS。由於更新過程只需要將更新的文件複製到給定站點的文件夾中,因此批處理文件似乎適合該任務。
有沒有一種很好的方法來遍歷文件夾列表的深度一級(不需要更深入地檢查),檢查該文件夾中是否存在特定文件,如果找到,執行一些命令(在這種情況下,我將有它執行命令從目標複製到文件夾)?
在這種情況下,您可以使用Forfiles命令(它在 Windows 7/2008/Vista 中是本機的,並且必須從 Windows Server 2003 中的資源工具包中安裝)。
只需在文本文件中列出所有文件夾。然後使用 for 循環迭代每個文件夾,將它們提供給Forfiles命令,使用.
/p param
搜尋指定文件名/m param
。如果匹配,則執行帶有 的命令/c param
。無論如何,我建議你使用一些更強大的工具,比如PowerShell。
你在什麼作業系統上執行?像這樣的東西適用於 Perl:
opendir DIR, $dirname or die "Couldn't open dir '$dirname': $!"; my @files = readdir(DIR); closedir DIR; foreach my $file (@files) { if ($file =~ /filename/) { print "Matched file process"; } }