Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

In my "Recorded TV" library, in which I store the movies that Windows Media Center record from my TV tuner card, I have about 400 movies (.dvr-ms and .wtv files), almost 2.4 TB of data. When I try to open this folder in Windows Explorer, the RAM usage goes to 100 %, and the entire computer freezes until I eventually manage to close the folder, one way or another. (Which is quite a feat, since Windows 7 usually is very stable.)

Is this a known bug, with a known solution? It's not a big deal, since I still can manage the files from within Windows Media Center, or using the command prompt, but it is annoying. Indeed, sometimes I want to watch the metadata associated with a movie without starting Media Center. Of course I can write a small Win32 application calling ShellExecuteEx with the properties verb, but that's 'overkill', isn't it?

Surely, in 2013, Windows Explorer can open a directory with a few hundreds of files in it?

share|improve this question
    
@Karan: In fact, changing to 'Details view' and 'General items' 'solves' the issue, in the sense that there is no RAM or stability issue. But it's still a bit sad that you cannot use all the features in the shell (previews and special metadata columns). I'm pretty sure its theoretically possible to show a few hundreds of thumbnail images and a few hundreds of integers and strings in a list view (at least it used to be a list view control) without crashing the OS. If you post your comment as an answer, I'll accept it. –  Andreas Rejbrand Mar 11 '13 at 9:59
    
They changed the list control used by Explorer in Vista, which is why shell handlers that added custom columns stopped working after XP. I don't know about the relative performance of the new control compared to the old one though, since I've always preferred Details view myself. –  Karan Mar 11 '13 at 17:56

2 Answers 2

Depending on the number of files, the amount of metadata to be extracted, how well the shell extension is coded (whether it's properly multi-threaded or not, has any memory leaks etc.), how much free RAM is there and so on, turning on thumbnail view in Explorer or enabling the display of multiple columns that require metadata extraction from each file might bog down the system.

Optimizing the folder for General Items (via folder Properties / Customize tab) is one way to ensure that Explorer stays reasonably responsive even with hundreds or thousands of files in a folder.

share|improve this answer
    
Although I don't think it is reasonable that 'only' a few hundred recorded films in the 'Recorded TV' folder freezes the entire system, disabling thumbnail view and removing the non-standard columns did normalize the folder. –  Andreas Rejbrand Mar 11 '13 at 18:23
    
I don't think it's reasonable either, but guess it is what it is. In this case there don't even seem to be any 3rd party extensions involved, since it's got to do with Media Center. Blame it on Microsoft! –  Karan Mar 11 '13 at 18:24
    
No, I never install 3rd party software unless I really have to. So I think my shell is free. –  Andreas Rejbrand Mar 11 '13 at 18:28
    
I'm sorry, I have to unaccept this one. I just opened the folder (with no thumbnails and no additional metadata columns, and the RAM usage spiked from 50 % to 90 % before I managed to close the window). My compter has 6 GB of RAM, and I don't think it should require 3 GB to list a few files. –  Andreas Rejbrand Mar 29 '13 at 14:50

A partial workaround is to make sure all the features one needs can be accessed through the command promt. For instance, I wrote this simple Delphi program (and put the EXE in the System32 folder):

program shprop;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Windows,
  ShellAPI;

const
  SEE_MASK_NOASYNC = $100;

var
  shi: TShellExecuteInfo;
begin

  try

    if ParamCount = 0 then Exit;

    FillChar(shi, sizeof(shi), 0);
    shi.cbSize := sizeof(shi);
    shi.lpFile := PChar(ParamStr(1));
    shi.lpVerb := 'properties';
    shi.fMask := SEE_MASK_INVOKEIDLIST or SEE_MASK_FLAG_NO_UI
      or SEE_MASK_NOASYNC or SEE_MASK_NOCLOSEPROCESS;
    if ShellExecuteEx(@shi) then
    begin
      Writeln('Press Return to continue.');
      Readln;
    end
    else
      Writeln(SysErrorMessage(GetLastError));

  except
    on E: Exception do
      Writeln(E.Classname, ': ', E.Message);
  end;

end.

Now I can simply write shprop myfile.wtv in the command prompt to show its property dialog.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.