ファイル一括削除 – プログラミング – Home

通知
すべてクリア

[解決済] ファイル一括削除


りん
 りん
(@りん)
ゲスト
結合: 23年前
投稿: 28
Topic starter  

おはようございます。
VC++6.0でファイルの一括削除を行いたいです。

①tmpfileを削除したい場合は、
----------------------------------------------------
 例:if (remove(C:\\tmp\\tmpfile)!=0)
    puts(ファイルの削除に失敗しました。);
----------------------------------------------------
で削除されますが、
②tmpfile1~tmpfile100を削除したい場合、
----------------------------------------------------
 例:if (remove(C:\\tmp\\tmpfile*)!=0)
    puts(ファイルの削除に失敗しました。);
----------------------------------------------------
では削除されません。

for文等を使用せずに②を実現させたいのですが、
何か良い方法が御座いましたら返信の程、
宜しくお願いいたします。


引用未解決
トピックタグ
sugar
 sugar
(@sugar)
ゲスト
結合: 24年前
投稿: 448
 

詳しいことはわかりませんが、
remove()関数はワイルドカードをサポートしていないのかな?

SHFileOperation()は、ワイルドカード付きファイル名の削除をサポートしているようです。
試してみてください。


返信引用
sara
 sara
(@sara)
ゲスト
結合: 23年前
投稿: 99
 

SHFileOperation() については下記がとても参考になります。

http://www.kab-studio.com/Programing/Codian/ShellExtension/07.html

私もつい最近ここを読んで以前からの疑問が解けました。完全削除か、ごみ箱に移動するかはフ
ルパス指定にするか、カレントディレクトリの設定&ファイル名で削除するかで使い分けできる
みたいですね。今までは、完全削除するために、ファイル検索しながら地道に削除していまし
た。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

あ、ホントだ、フルパスを指定しないとゴミ箱に入らないですね。

フルパスのときにゴミ箱に入れるか入れないかは、
SHFILEOPSTRUCT の fFlags に FOF_ALLOWUNDO を
指定するかしないかで制御できますよ。


返信引用
sara
 sara
(@sara)
ゲスト
結合: 23年前
投稿: 99
 

> SHFILEOPSTRUCT の fFlags に FOF_ALLOWUNDO
 UNDO(元に戻す)の不許可のフラグを使えば良かったのですね。勉強になりました。
 3年位前にどのフラグを使えば良いのかが分からなくて断念していたので、教えていただいて
とても嬉しいです。


返信引用
りん
 りん
(@りん)
ゲスト
結合: 23年前
投稿: 28
Topic starter  

sugarさん、saraさん、dairygoodsさん
回答本当にありがとうございます。
大変助かりました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました