|
白雲斎 と申します。
あるマクロの一部機能として、バッチコマンドを呼び出し(厳密には、Perlを
経由している)、ディレクトリを削除するというものがあります。
ところが、ある条件(100%ではない)では、削除に失敗してしまうのですが、
こう言う物なのでしょうか。
【状況】
(1) 常駐以外の秀丸が無い状態で、削除対象のディレクトリ"DirA"にある
ファイル"FileB"を、秀丸で開く。
(2) "FileB"から新規秀丸を開き、"FileB"を閉じる。(新規秀丸で編集は
なし)
(3) 削除機能を有するマクロを、ディレクトリ"DirA"を指定して実行する。
(4) 削除失敗となる。
(5) 常駐を含め、すべての秀丸を終了し、新規秀丸を新たに開く。
(6) (5)の秀丸上でも、削除は失敗となる。
一度、他のディレクトリにあるファイルを開き、そこからマクロを実行すると、
正常に動作(削除)します。
------------ delete.bat ------------
@echo off
chdir /d %1 || goto end
rmdir /s /q %2
if exist %~s2\nul (
del /f /s /q %2
rmdir /s /q %2
)
:end
------------------------------------
windows 2000sp2
秀丸 ver.3.13
削除対象のディレクトリに、システムファイルや、読み取り等の属性ファイル
はありません。
|
|