我有一個由數百個文件組成的目錄或文件夾。他們以字母的形式命名和安排。我想根據文件名的第一個字符將文件移動到目錄或文件夾中(例如,以a
開頭的文件放入一個文件夾,以r
開頭的文件放入另一個文件夾等)。根據名稱將文件移動到不同的文件夾/目錄中
有沒有辦法做到這一點,而不使用CPAN
模塊?
我有一個由數百個文件組成的目錄或文件夾。他們以字母的形式命名和安排。我想根據文件名的第一個字符將文件移動到目錄或文件夾中(例如,以a
開頭的文件放入一個文件夾,以r
開頭的文件放入另一個文件夾等)。根據名稱將文件移動到不同的文件夾/目錄中
有沒有辦法做到這一點,而不使用CPAN
模塊?
文件是否都在該文件夾中,或者它們是否在子文件夾中?如果他們都在一個文件夾,您可以使用opendir訪問目錄,然後readdir讀取文件名和(使用File::Copy模塊move
或copy
功能在其他地方複製。
use strict;
use warnings;
use autodie;
use File::Copy; #Gives you access to the "move" command
use constant {
FROM_DIR => "the.directory.you.want.to.read",
TO_DIR => "the.directory.you want.to.move.the.files.to",
};
#Opens FROM_DIR, ao I can read from it
opendir my $dir, FROM_DIR;
# Loopa through the directory
while (my $file = readdir $dir) {
next if ($file eq "." or $file eq "..");
my $from = FROM_DIR . "/" . "$file";
move $from, TO_DIR;
}
這不做你想要什麼,但它應該給你的想法。基本上,我使用opendir
和readdir
讀取目錄中的文件和我使用move
將其移動到另一個目錄。
我用File::Copy
模塊,但是這包含在所有Perl分發中離子,所以它不是必須安裝的CPAN模塊。
謝謝你很多想法和幫助。 – unkaitha
你有什麼問題? SO不是代碼寫入服務。 – ikegami
CPAN代碼爲什麼不行?考慮到我將代碼發佈到CPAN和SO,這是否意味着你不能使用我的代碼? – ikegami
我做了一些搜索,我找不到任何可以幫助我做同樣的事情。我不知道如何去做這件事。我無法安裝任何CPAN模塊。我正在尋求幫助,因爲我無法完成這部分任務。但並不是要求任何人爲我寫整個代碼。謝謝 – unkaitha