Home » Questions » Computers [ Ask a new question ]

Open more than 15 files at once on Vista

Open more than 15 files at once on Vista

In Windows Vista, if you select 15 files (say text files) you can right click and select Open (or whatever the default action is for that file type). If you select 16 files, then Open disappears from the list.

Asked by: Guest | Views: 61
Total answers/comments: 1
Guest [Entry]

"Take a look here. I haven't tested, but it looks like the solution you want - kinda hack-y though.

Formatted as best I could, markdown doesn't like ,e.

The system shell for Windows Vista has
been purposely built by Microsoft such
that ...

When files of various types are selected simultaneously, the option to
open them is made inaccessible to the
system shell, whether through their
context menu or the keyboard (i.e.,
pressing {Enter}). This is governed by
file extensions, not by the program
handling the files (e.g., it occurs
when *.doc and *.docx files are
simultaneously selected).
When more than 15 (i.e., 16 or more) files of the same type are
selected, the same event occurs.

This is documented by Zack Robinson, a
Microsoft senior developer Here's a
workaround that solves both problems
and places the solution in the context

It requires only creating a Visual
Basic script and creating a shortcut
to it in the Send To folder.

Create or download (rename its extension to *.vbs) the script
attached to this post (code posted below).
Create a shortcut to it and place the shortcut in your Send To
folder. If you can't find your Send To
folder, press Windows+R and run

Now, when you right-click on a file or
files, choosing the (for example)
0_file_execution entry in the Send
To list will open all selected files.

Running the script directly, instead
of passing it files as arguments from
the Send To list item, allows you to
set the amount of time that separates
the opening of each file; if you set
this value too low, Vista may fail to
open all files.


on error resume next


set shell=wscript.createobject(""wscript.shell"")
set filesystem=createobject(""scripting.filesystemobject"")

set scriptfile=filesystem.getfile(wscript.scriptfullname)


for loopversion=1to ubound(stamparray)
if versionlength<2 then stamparray(loopversion)=string(2-versionlength,""0"")&stamparray(loopversion)

set contents=filesystem.opentextfile(wscript.scriptfullname,1)


set files=wscript.arguments
if files.count<1 then
wait=inputbox(nl&nl&""Set a period, in milliseconds, to wait while files open:"",filesystem.getbasename(scriptfile)&"" v""&version&"" : ""&int(scriptfile.size/unit)&""k""&(scriptfile.size/unit-int(scriptfile.size/unit))*unit&""b : ""&ubound(contents)&"" lines"",wait)
if wait=empty then wscript.quit
if isnumeric(wait) then exit do
set scriptfile=filesystem.createtextfile(wscript.scriptfullname)
for loopcontents=0to ubound(contents)
if instr(newline,""wait="")>0 and isnumeric(replace(newline,""wait="","""")) then newline=""wait=""&wait
if loopcontents<ubound(contents) then scriptfile.write(nl)
for each file in files
shell.run """"""""&file&""""""""
wscript.sleep wait
end if"