2009-11-03 81 views
2

我需要將某些目錄中的所有*.exe文件複製到其他虛擬驅動器。如何複製給定擴展名的所有文件?

如果我正在編寫批處理腳本,我會做xcopy "%mycopyposition%\*.exe"

但我認爲這在Perl腳本中是一個壞主意。

我看到一個File::Copy模塊,但看不到如何做到這一點。

+0

請閱讀的perldoc文件::複製 – ghostdog74 2009-11-03 11:49:27

+0

當然,你還需要遍歷所有的exe文件的 – ghostdog74 2009-11-03 11:51:11

+0

我已經看過,但沒有關於我的問題的信息 – 2009-11-03 11:56:37

回答

5

試試這個:

use File::Copy; 
for my $file (<*.exe>) { 
    # Copies from directory $mycopyposition to current directory. 
    copy "$mycopyposition/$file", $file or die "copy $file failed: $!"; 
} 
+1

注意他的'xcopy'副本*從*'%mycopyposition%'不至。而且,當我們使用模塊時,建議使用'File :: Spec-> catfile'連接路徑。 – 2009-11-03 12:26:16

+0

哦,對不起,我不熟悉'xcopy'。 – 2009-11-03 12:29:13

+0

感謝它已經爲我工作 – 2009-11-03 12:31:53

3

我認爲這是使用xcopy一個極好的主意。它做你想要的。此外,它還保留時間戳和其他屬性。有一些非常有用的選項。

相關問題