![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?c9bd177)
vbscriptでファイル名にある文字列を含むファイルを検索し、作成日の最も古いファイルをコピーする処理をしています。
下記環境で動かしているのですが、csrss.exeの使用メモリが増加し続けます。
原因または調査の仕方など教えていただけると幸いです。
システムの都合上、別言語への変更はできないのでどうにか解決したいです。
よろしくお願いいたします。
動作環境: windows2003 std sp1
プログラム:
Const ForReading = 1 'read only
Const ForWriting = 2 'write(overwrite mode)
Const ForAppending = 8 'write(add mode)
kekka =0
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objShell = WScript.CreateObject("WScript.Shell")
Set colEnv = objShell.Environment("Process")
strNow = Now
FILE_NAME = "test_J999"
LIST_FILE = "D:\common\" & FILE_NAME & ".log"'use log
Set objText = objFS.OpenTextFile(LIST_FILE, ForAppending, True, 0)
objText.WriteLine strNow & " copy.vbs start"
strSndpath = "D:\common\data\"
strRcvpath = "D:\common\"
strFileName = search()
If objFS.FileExists(strCopyFrom) = False Then
Kekka = 0
WScript.Echo kekka
objText.WriteLine strNow & " copy.vbs end" & " error: " & err.Number & " file: nothing"
objText.Close
Set objShell = Nothing
Set objFS = Nothing
WScript.Quit
End If
objFS.CopyFile strCopyFrom,strCopyTo
IF err.number = 0 Then
kekka = 0
Else
kekka = err.number
End IF
WScript.Echo kekka
objText.WriteLine strNow & " copy.vbs end" & " error: " & err.Number & " file: " & strFileName
objText.Close
Set objShell = Nothing
Set objFS = Nothing
Function search()
On Error Resume Next 'error ignore
Set objApl = Wscript.CreateObject("Shell.Application")
Set folder = objFS.GetFolder(strSndpath)
Set folinfo = objApl.NameSpace(strSndpath)
Mostoldtime = strnow
Totalcnt = folinfo.Items().count+5
Redim File(Totalcnt)
i=0
For each t in File
If Instr(t , FILE_NAME) > 0 then
strfilepath = strSndpath & "\" & t
Set fileinfo = objFS.GetFile(strfilepath)
'serch most old file
If fileinfo.DateCreated < Mostoldtime then
Mostoldtime = fileinfo.DateCreated
Filename = t
End If
End If
Next
Erase File
Set objApl = Nothing
search = (Filename)
End function
No.1ベストアンサー
- 回答日時:
Windows Updateすれば、直るのではないかと思います。
原因はwindows2003sp1の欠点と思います。
参考サイト
http://support.microsoft.com/kb/903722/ja
http://support.microsoft.com/kb/914962/ja
参考URL:http://www.windowsfiles.jp/fairu/csrss.exe.html
max_viiv様
ご回答ありがとうございます。
さっそく検証環境で事象を再現し、sp2にupdateしました。メモリリーク自体がなくなったわけではありませんが、メモリ増加量が減りました。
おそらく複数の要因でメモリリークが起きているようなので
引き続き情報を募集します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトでファイル...
-
word VBA ファイル名 保存
-
[DOS] コピー先に同じファイル...
-
バッチコマンドでファイル名の...
-
ftp処理でmove(移動)を行いたい
-
access,vbaでフォルダ内のファ...
-
大量のフォルダからひとつのフ...
-
コマンドプロンプトのエラーに...
-
バッチファイルで以下のような...
-
エクセルのVBAについて とある...
-
stable diffusionのインストー...
-
バッチでテキストファイルから...
-
exeファイルを実行するとコマン...
-
binファイルを解凍したいの...
-
reaper音声ファイルについて
-
Seasar2のdiconファイルの読み方
-
標準正規分布
-
ファイルのサイズを0にする or ...
-
拡張子を元に戻す
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトで変数が数...
-
コマンドプロンプトでファイル...
-
バッチファイルで、iniファイル...
-
[DOS] コピー先に同じファイル...
-
バッチコマンドでファイル名の...
-
ftp処理でmove(移動)を行いたい
-
access,vbaでフォルダ内のファ...
-
ExcelVBAのDirでスペース含むフ...
-
フォルダ内の更新日時が一番新...
-
DOSのバッチ作成について‐FORの...
-
word VBA ファイル名 保存
-
ファイル名に ” を使うと エク...
-
.batでファイル名から抽出して...
-
ファイル名を該当フォルダ内か...
-
サブフォルダからファイルをコ...
-
【vbs】ファイル名の検索と該当...
-
【DOSバッチ開発】末尾のタブの...
-
VBA GetAttrについて教えてくだ...
-
バッチ処理で16進数でファイル...
おすすめ情報