![](/img/trans.png)
[英]How to recursively delete files and folders under a certain directory using command line?
[英]How to develop a script in perl which can delete the data in sub folders recursively and also the parent directory?
嗨,文件夾結構如下
mishel/ #Parent directory
mike1 #sub file of mishel
minni1 #sub file of mishel
rosy1 #sub file of mishel
rocky/ #sub directory of mishel
missi #subfile of rocky
marsh #subfile of rocky
milly #subfile of rocky
monu/ #sub directory of rocky
mike #sub file of monu
minni #sub file of monu
rosy #sub file of monu
所以這是我的問題:我想使用一個腳本,它可以自動刪除所有文件和子文件夾。
如果我們使用函數“ rmdir(dirname)”,則目錄必須為空。 因此,是否有可能從子目錄刪除到父目錄。
編寫一個將目錄作為參數的函數。 讓該函數在目錄中執行readdir
。 對於readdir返回的每個項目,請檢查它是否是文件-如果是,則將其刪除。 如果是目錄,請以子目錄為參數再次調用該函數。 如果沒有任何項目( .
和..
除外),請刪除目錄。
use Path::Class;
my $dir = dir('foo');
$dir->recurse(callback => sub {
unlink $_[0] if !$_[0]->is_dir;
});
$dir->rmtree(0, 1);
要么 :
use File::Path ('rmtree');
rmtree('foo', 0, 0);
perl -e 'system "find mishel -delete"'
嘗試使用File::Path
模塊的remove_tree
函數
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.