
No.3
- 回答日時:
(1)ファイル削除についてのみ意見を言いますと、
恐らく、(1)が正常終了したかを判別する方法はないと思います。
(私の調査が間違っている可能性もありますので、ご参考としてお聞きください。)
Win32APIを使用したファイル削除の処理を実装した時に調べたのですが
ファイルを排他的にロックして削除することは出来なかったと記憶しています。つまりあるプロセスがそのファイルを確実に削除することはできません。(ほかのプロセスが先行して削除する可能性を排除できない。DeleteFileの結果がNGだからといってファイルが削除されていないとは断言できない。細かい話を希望される場合はもう少し説明します。)
delコマンドも内部ではDeleteFileを使用していると思うので、同様の事がいえるのではないか、と推測します。
ですから(1)については、ファイルを削除したあとで、対象ファイルが存在するかを確認することで、処理結果の確認とするのがよいと思います。
hogejoさん、アドバイスありがとうございました。
より細かく正確な仕組みを作るとなるとより深い知識が必要だな、と強く感じました。
今後の課題としたいと思います。
今回は、logファイルを削除する仕組みですので、ファイルを取り合うこともないので、delのリダイレクトの結果を判定結果に使いたいと思います。
ありがとうございました。
No.2
- 回答日時:
それなりにお詳しいようなので思いついた方針だけ書いておきます。
各コマンドでリダイレクトを使い実行結果をファイルに書き出し。
grep等を使ってエラーの文字列を検索。ヒットすれば正常終了でないと判断。
…こんな感じでどうですか?
OSが分かりませんが、NT系なら標準出力だけでなく、標準エラー出力もリダイレクトできるので、これでOKじゃないでしょうか。
>hogehoge.log とやると標準出力がリダイレクトされ、
2>hogehoge.log とやると標準エラー出力がリダイレクトされるようですよ。
というか、これなら標準出力と標準エラー出力でリダイレクト先が分けられるので、生成されたファイルサイズを見るだけで、エラーか正常終了か分かるような気もします。(←試してみてください)
この回答への補足
piro19820122さん、ありがとうございました。
リダイレクトで標準出力する方法ですね。
試しに標準エラー出力をやってみてうまくいきました。
ですが、ファイルサイズの取得方法(0か0じゃないか)で、また立ち止まってしまいました。
ファイルの中身を見ずにサイズだけ取得し確認する方法はありますでしょうか?
No.1
- 回答日時:
delで削除するのが簡単ですが・・・(copyでコピーする)
連続、定期的処理のためですか?
カレントにパス(PATH) が通っていますか?
参考URL:http://homepage2.nifty.com/sak/w_sak3/doc/syspc/ …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/10 11:34
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- マルウェア・コンピュータウイルス トロイの木馬が検出されました。 1 2022/06/12 22:09
- その他(プログラミング・Web制作) フォルダ内の特定 拡張子のファイルを一括実行するBat ファイルについて 4 2022/04/17 09:51
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
レジストリエディター
-
access2007 OLEオブジェクトの...
-
CentOS7で容量がきつくなったの...
-
Desktopという構成設定のアイコ...
-
Cドライブにconfig msiというフ...
-
System32内のファイルを書き換...
-
Apoint2Kってスパイウェアでし...
-
■■ハンゲームアバファイルを消...
-
同じファイルを削除するには
-
デスクトップに同じ名前のファ...
-
Not kind:Folders
-
【VBA】写真の縦横比を変えずに...
-
VBAで、㉑という数値が、正しく...
-
シャットダウン時に自動ファイ...
-
タスクスケジューラで指定フォ...
-
常に「すべての列のサイズを自...
-
Windows10のメタデータの「メ...
-
フォルダのプロパティでセキュ...
-
正規表現で特定文字列を含まな...
-
onenote と windows journal
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
System32内のファイルを書き換...
-
google Drive 容量を減らせない...
-
エクセルを立ち上げるとBook2が...
-
Cドライブにconfig msiというフ...
-
Apoint2Kってスパイウェアでし...
-
Desktopという構成設定のアイコ...
-
Googleドライブで削除できない...
-
Windowsコマンドでファイル削除...
-
CentOS7で容量がきつくなったの...
-
エラーメッセージが文字化け
-
Visual C++ でクラスを削除する
-
デスクトップに同じ名前のファ...
-
知らぬ間にQ2接続…対策?
-
体言止について (日本語文法)
-
Update失敗ファイルの削除方法は?
-
壊れたファイルの削除
-
アドオンの管理で削除ができない
-
ウイルスの手動削除
-
ExcelVBAで、指定したファイル...
-
USBメモリー内の空になったファ...
おすすめ情報