リネームツールをまたーり語るスレ 003
at SOFTWARE
584:名無しさん@お腹いっぱい。
07/01/29 09:42:24 4eLwLnI10
>>582
★重大バグ@
#現象
ドライブルートにwrename.vbsを置くと、パスがD:\\〜などとなり、エディタで開けない事がある
#原因
GetParentFolderNameは通常は末尾に\の付かないパス(D:\hoge\wrename.vbs→D:\hoge)を返し
ドライブルート下のファイル、フォルダを指定すると\を付けたドライブレター(D:\wrename.vbs→D:\)を返すが
その仕様に合わせた処理が取れていないため、"D:\"+"\"で\が二重になる
#対処法
x=fs.GetParentFolderName(WScript.scriptfullname)
if Right(x,1)<>"\" Then x=x+"\"
や、IsRootFolderプロパティなどでの例外処理をする
#コメント
実はD:\\というのは間違いってわけではく、スクリプト内(FileSystemObject)ではエラーにはならないけど
エディタによっては開けないものもあるのでスクリプト側での対処は必須
ドライブルートに置く人は少ないだろうけど、ドライブルートに置くなという注意書きをしないなら対処すべき
★重大バグA
#現象
シングルプロセスで複数のファイルを扱えるエディタだと、ファイルの編集を終了させてもリネームが開始されない
#原因
Execオブジェクトの監視しかしていないから、ファイルの編集を終了させてもプロセスが終了しないと
Do until hide.Statusのループを抜けられない
#対処法
tempfileの更新日時を監視して、更新上書きされた時点でリネームを開始するなど
#コメント
更新日時監視にする場合、上書き=編集終了とは限らないので、「内容が更新されました. リネームを開始しますか?」
などの確認をした方がいいかもしれないが、煩わしいと感じる人も居るかもしれないから確認の有無は選択式とか
因みに実行したアプリの終了待ちは、わざわざExecオブジェクトを監視しなくても
WshShell.Runの第三引数をtrueにすると、そのアプリが終了するまで次の処理は行われない
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5047日前に更新/282 KB
担当:undef