while (defined($name = readdir $dh)) {
next unless -d "$root/$name";
$dir=$root.$name."/";
if(is_folder_empty($dir)){
print"$dir is Empty\n";
print"Do you want to delete it? 1-Yes 2-No\n";
$aa=<STDIN>;
chomp $aa;
if($aa==1){
$deleteregdir = "$dir";
rmdir $deleteregdir;
print"Directory has been deleted!!\n";
}
}
else
{
print"$dir is NOT Empty\n";
$dir2=$dir;
opendir my $dh2, $dir2;
while (defined($name2 = readdir $dh2)) {
next unless -d "$dir2/$name2";
$dd=$dir2.$name2."/";
#print"$dd\n";
if(is_folder_empty($dd)){
print"$dd is Empty\n";
print"Do you want to delete it? 1-Yes 2-No\n";
$aa=<STDIN>;
chomp $aa;
if($aa==1){
$deleteregdir = "$dir";
rmdir $deleteregdir;
print"Directory has been deleted!!\n";
}
}
else
{
print"$dd is NOT Empty\n";
}
}
}
}
此代碼僅用於運行目錄及其子目錄。迭代停止在下一個級別。我想搜索所有空目錄。我想要的結構是這樣的,當我運行代碼時,所有空的目錄在從用戶獲得確認後被刪除。 在此先感謝。需要刪除用perl所有空的子目錄在Windows
你知道子程序和遞歸嗎? – amon
你嘗試過'File :: Find'嗎? – TLP