windowsサーバでのディレクトリ削除方法
有料で作成していただいたPerlスクリプトについてですが、管理室でフォルダの削除ボタンを押すと「'rm' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」と表示され、フォルダが削除できません。Linuxサーバでは正常に削除されます。作成して頂いた会社に連絡をしましたが、長期間お返事を頂けておりません。どうにかしてWindowsサーバでも正常に削除できるようにしたいと考えておりますが、私はPerlに疎いため、皆さんのお知恵をおかりしたく質問させて頂きました。著作権問題が生じますので、何処までスクリプト内容を書き込んでいいのかわかりませんが、取り敢えず以下の部分を書き込んでみます。
-------------------------------------
# ロック開始
&lock if ($lockkey);
@new=();
open(IN,"$memfile") || &error("Open Error : $memfile");
while (<IN>) {
($type,$num,$name,$email,$url,$id) = split(/<>/);
if ($in{'id'} eq $id) {
unlink("$logdir$id\.log");#こちらは正常に削除されてます。
unlink("$logdir$id\.dat");#こちらは正常に削除されてます。
if ($type ne 'p') {
use Shell qw(rm);
rm("-rf","$htm_dir$us_dir/$id");#これが削除できません。
}
next;
}
push(@new,$_);
}
close(IN);
-------------------------------------
$htm_dirは変数宣言です。
$htm_dir = 'P:\public_html\cgi-bin/';
$us_dirは各ID($id)の入っているフォルダです。
$idはIDフォルダです。この$idフォルダの削除を試みています。
rmはLinux専用らしいので、その部分を変更するのだとは思いますが。ご存知の方がおられましたらご指導を宜しくお願い致します。
お礼
わざわざソースまで見ていただきありがとうございました! 他の物を利用したほうがよさそうですか~、検討してみます。