フォルダの作成・削除
use strict;
use utf8;
use Term::ReadKey;
ReadMode 'cbreak';
# フォルダ作成
print "Make directory - test\n";
mkdir("./test", 0777) or die "Failed to make directory: $!";
print "Hit any key\n";
ReadKey(0);
# フォルダ削除
print "Remove directory - test\n";
rmdir("./test") or die "Faild to remove directory: $!";
フォルダ内にファイルがある場合の削除
use strict;
use utf8;
use Term::ReadKey;
my $dir = "test";
my $file;
ReadMode 'cbreak';
# フォルダ作成
print "Make directory - $dir\n";
mkdir("./" . $dir) or die "Failed to make directory: $!";
# ファイルを置く
open(FILE, "> " . $dir . "/test1.txt");
print FILE "This is test file1\n";
close(FILE);
open(FILE, "> " . $dir . "/test2.txt");
print FILE "This is test file2\n";
close(FILE);
print "Hit any key\n";
ReadKey(0);
# フォルダ内を空にする
print "Remove all file in the directory\n";
opendir(DH, $dir) or die "$!";
while ($file = readdir DH) {
next if ($file =~ /^\.{1,2}$/);
print $dir . "/" . $file . "\n";
unlink $dir . "/" . $file;
}
# ここで closedir しないとプロセスがディレクトリの handle を
# 持ち続けてしまい、次の rmdir 操作が Permission denied となってしまう
closedir(DH);
# フォルダ削除
print "Remove directory - $dir\n";
rmdir("./" . $dir) or die "Faild to remove directory: $!";
0 件のコメント:
コメントを投稿