HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
0909
黒目フォルダの移動の終了を確認したい2解決


黒目

リンク

2013/9/9(Mon) 22:15:33|NO.57052

フォルダ内にある複数のフォルダを一つずつ、連続的に移動させるプログラムを組んでおります。

たとえばフォルダAにフォルダ1,フォルダ2,フォルダ3が入っているとして、フォルダBに
フォルダ1を移動、次にフォルダ2を移動、最後にフォルダ3を移動します。そしてさらに
フォルダBからフォルダCにフォルダ1〜3を移動、さらに・・・ というような感じです。

実際に組んでみると、移動が上手くいかないときがありました。いくつか試した結果、
フォルダのサイズや構造が複雑だと、移動処理が追いつかずにうまくいかなくなるの
だと推察できました。

そこでフォルダの移動が上手くいったかどうかを判定するためのプログラムを組みたいのですが、
方法がまったく思いつきません。上手な方法がございましたらご教授ください。



この記事に返信する


Humi

リンク

2013/9/10(Tue) 10:43:22|NO.57063

一応 WindowsAPI に IsDirectory っていう
そのディレクトリ(フォルダ)が存在しているかを調べる関数がありますが、
そうならないようにすべきだと俺は思います。

HSP の exist でたとえそのファイルがあったとしても
隠し属性なんかが付いていると移動とかができないことがあります。
(ファイルが存在しないっていうエラーが出る)

だからそれらのファイルorフォルダを避けるようにしたほうがいいかもしれません。

また、
調べてませんが、そのアプリケーションに管理者権限を与えると、
隠し属性とかも移動できるかも?

それか、隠し属性を一度なくして移動して、
そして、再び付け直すっていう方法なら全部のファイルを移動できるかもしれません。

俺もここらへんはよくわかっとらんので、間違いがあったら指摘してください。



黒目

リンク

2013/9/10(Tue) 20:09:23|NO.57068

すみません、自身はシステムフォルダ?(IEお気に入りツールバーを入れるフォルダ)
を移動させようとしていたために、挙動がおかしくなっていたみたいです。
具体的に、エラーが出ないのに移動処理が途中で打ち止めになっていました。

そこでシステムフォルダの中身のみを移動させる方法に切り替えてみることにします。

後、隠しファイルは盲点でした、実際に試すとエラーは出ませんがファイルの場合は属性がなくなる
(bcopyを利用しているため?)ようです。フォルダも移動しませんでした。
管理者権限に関しては今度試してみます。新しい視点でのご指摘ありがとうございました。

自己解決してしまい申し訳ありません。今後はしっかり試してみてどうしようもない時のみ
質問するようにします。



ONION software Copyright 1997-2023(c) All rights reserved.