CAD日記

主にAutoCADのことについて書いているけど、近頃は投資系ネタに注力している。自動売買、仮想通貨、PC関係、プログラミングなど。@caddiary

ソフト開発

TEMPフォルダ書き込みエラーが頻発したのはなぜだろう

投稿日:2017年4月30日 更新日:

「環境変数TEMPトラブルについて振り返る」という記事に書いた出来事は1か月ほど前に起きたことでありWindows Serverでもあったから、レアな事象としてとらえていたが、一昨日の金曜日に起きたことはそんな局所的な問題とは違う広い範囲の問題ではないかと思っているのだけれども。。
アプリで保存しようとしたら、エラーでC:\Users\[User Name]\AppData\Local\Tempへの書き込みに失敗って出たんだけどどうしたらいいかって問い合わせが、合計4件来たのだ。たまにある問い合わせではあるものの、それが4件同じ日に来るのはおかしい。エクスプローラで%TEMP%と打ち込んで、中のファイルを全部消せばよい。安全側で考えるなら、Cドライブのプロパティでディスククリーンアップして一時ファイルを消せばよい。最近1週間に作ったフォルダ・ファイル以外を全部削除してくれる。
GetTempFileNameで0バイトのファイルを大量に作って消さないアプリがいるのだろうか。OS自体、IE、Office、ウイルス対策送付となんかの誰もが使っているやつだったりしたら、多くのユーザーに影響が出る。GetTempFileNameは最大65535個の名前が作れるので、その数近くになってくるとエラーになる。まさか自分ところのアプリがそんなアホなことをしているのだろうかと怪しんだが、けっこう昔のバージョンでも発生していたから他要因だと思う。フォルダ内のファイルの制限ってのもあるようだが、それはFATの話であって今時のNTFSフォーマットなら上限はないらしい。
ネットで類似の問題が出ていないか調査しても、たまにある話としての記事がある程度。うーむ、何かどこかに元凶となるものがあるんじゃないかと思っているのだが。例えば、ウイルスとか。。ともあれ、情報がないんだからしょうがない。静観しているしかない。

-ソフト開発
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

通常使うプリンタを取得する

通常使うプリンターを取得する方法をいくつか挙げる。 ①GetDefaultPrinter TCHAR printerName[1024]; DWORD dwBufferSize = 1024; BOO …

no image

テキストファイルの最大行数

【2018/12/24追記】以下の記事も参考になるかな。 扱えるテキストファイルの最大行数は1億行 バカでかいテキストファイルを作る必要があって、結果約2GBにもなった。 CADから出力するんだけど、 …

Windowsアプリで引数を受け取る(改)

MFCを使ったWindowsアプリの実装に関する話。 CWinAppを継承したクラスでは、m_lpCmdLineで起動時のパラメータを取得できる。そのパラメータは1個の文字列だが、半角スペースで区切ら …

Hyper-Vのvhdxを圧縮するのはPowerShellでやるんだけど、その自動化手法がおもしろいじゃん(3)

vhdを手軽に圧縮できるPowerShellプログラムの決定版。 まずは、前回考えたことを振り返る。。 ps1内のvhdのファイルパスを自分で書き変えなきゃいけないのが難点だから、ps1と同じ場所にあ …

no image

KB2538242

また、VC2005再頒布可能パッケージの新しいものが出た。 昨日のWindowsUpdateでそれっぽいのが出てきたから、 もしやと思ったらビンゴだった。 Microsoft Visual C++ 2 …