3

В Windows Vista, если вы выбрали 15 файлов (скажем, текстовые файлы), вы можете щелкнуть правой кнопкой мыши и выбрать «Открыть» (или любое другое действие по умолчанию для этого типа файлов). Если вы выберете 16 файлов, то Open исчезнет из списка.

Есть ли способ продлить или снять этот лимит?

2 ответа2

1

Посмотрите здесь. Я не проверял, но похоже, что решение, которое вы хотите - хоть и хак-у.


Отформатированный как мог, уценка не нравится, e.

Системная оболочка для Windows Vista была специально создана Microsoft, чтобы ...

  1. Когда файлы различных типов выбираются одновременно, опция их открытия становится недоступной для системной оболочки, будь то через их контекстное меню или клавиатуру (т. Е. Нажатием {Enter}). Это регулируется расширениями файлов, а не программой, обрабатывающей файлы (например, это происходит при одновременном выборе файлов * .doc и * .docx).
  2. Если выбрано более 15 (т. Е. 16 или более) файлов одного типа, происходит одно и то же событие.

Это задокументировано Заком Робинсоном, старшим разработчиком Microsoft. Вот обходной путь, который решает обе проблемы и помещает решение в контекстное меню.

Для этого требуется только создать сценарий Visual Basic и создать ярлык для него в папке «Отправить».

  1. Создайте или загрузите (переименуйте его расширение в * .vbs) скрипт, прикрепленный к этому сообщению (код приведен ниже).

  2. Создайте ярлык к нему и поместите ярлык в папку «Отправить». Если вы не можете найти папку «Отправить», нажмите Windows+R и запустите «shell:sendto».


Теперь, когда вы щелкнете правой кнопкой мыши по файлу или файлам, при выборе (например) записи 0_file_execution в списке «Отправить» откроются все выбранные файлы.

Непосредственный запуск сценария вместо передачи его файлов в качестве аргументов из элемента списка «Отправить» позволяет установить время, которое отделяет открытие каждого файла; если вы установите это значение слишком низким, Vista может не открыть все файлы.


Код:

on error resume next

nl=vbcrlf
wait=200

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

set scriptfile=filesystem.getfile(wscript.scriptfullname)

stamp=scriptfile.datelastmodified
stamparray=split(year(stamp)&"."&month(stamp)&"."&day(stamp)&"."&hour(stamp)&"."&minute(stamp)&"."&second(stamp),".")
version=stamparray(0)

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

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

unit=4^5

set files=wscript.arguments
if files.count<1 then
    do
        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
    loop
    set scriptfile=filesystem.createtextfile(wscript.scriptfullname)
    for loopcontents=0to ubound(contents)
        newline=contents(loopcontents)
        if instr(newline,"wait=")>0 and isnumeric(replace(newline,"wait=","")) then newline="wait="&wait
        scriptfile.write(newline)
        if loopcontents<ubound(contents) then scriptfile.write(nl)
    next
else
    for each file in files
        shell.run """"&file&""""
        wscript.sleep wait
    next
end if
0

Спасибо за помощь. Но я сделал еще один шаг. Я не использовал скрипт Visual Basic. Я, когда мой послал в каталог, но короткие пути для программного обеспечения, которое я хочу запустить. Как Word, Exc, Firefox и так далее. Я знаю, что вы не можете использовать более одного типа программного обеспечения, но, конечно, было бы неплохо выбрать все файлы Word и отправить их в Word, все ссылки на Интернет и отправить их в Firefox и так далее.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .